我在父視圖中有兩個部分視圖。在父視圖中有一個「div」標記,它包含稱爲「狀態」的部分視圖。加載部分視圖後未選擇下拉值
<div id="divState"></div></td>
局部視圖只是在其中具有DDL:
@Html.DropDownList("State", null, "---------- Select ----------", htmlAttributes: new { @class = "form-control" })
局部視圖加載象下面這樣:
$('#divState').load('@Url.Action("LoadState", "General")');
控制器代碼是象下面這樣:
[HttpGet]
public ActionResult LoadState()
{
if (Request.IsAjaxRequest())
{
ViewBag.State = new SelectList(db.Generals, "IID", "Value");
return PartialView("_State");
}
else
{
return null;
}
}
我有一個鏈接按鈕打開一個模態對話框,這實際上是一個局部視圖。局部視圖包含幾個字段和一個用於保存數據的按鈕。保存後,數值將顯示在狀態爲DDL的最後輸入值中。我寫了下面的jQuery來存儲並選擇最後插入的值。
<script type="text/javascript">
$(function() {
$("#btnSave").click(function() {
debugger;
$.ajax({
type: "POST",
url: '@Url.Action("SaveGeneralData", "General")',
data: '{name:"' + $("#Value").val() + '", description:"' + $("#Description").val() + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
//alert("Id :" + response.IID);
var id = response.IID;
$('#divState').load('@Url.Action("LoadState", "General")');// Loading the partial view from controller
// to get the newly inserted value
$('#dialogState').dialog('close');
//$('div#divState select').val("5").attr("selected", "selected");
$("div#divState select").val("5");
},
failure: function (response) {
alert(response.responseText);
//alert("1");
},
error: function (response) {
alert(response.responseText);
}
});
});
});
</script>
插入值顯示在DDL中,因爲我正在重新加載保存DDL的局部視圖。 但我的問題是沒有選擇最後插入的值。 DDL在最後一個插入記錄閃爍後顯示第一個列表項(即硬編碼爲「5」)。
任何幫助將感激地接受。 Partha
你用'id =「btnSave」'元素是什麼? –
「btnSave」實際上是部分視圖中的保存按鈕,它包含幾個字段。這些值將被保存在數據庫中並且也被存儲在DDL中(也在部分視圖中,即'狀態'中)。保存的值通過json從控制器返回。值是通過已經給出的JavaScript捕獲的。 – Partha
類型是「按鈕」。 – Partha