<div id="newApplication" class="invisible">
<form id="frmnewApplication" action="">
<fieldset>
<ul class="formone">
<li>
<label class="labelone">
Name:</label>
<%-- <input type="text" id="ApplicationName" class="inputtext validate[required]" />--%>
<%= Html.DropDownList("ApplicationName", ViewData["AppList"] as IEnumerable<SelectListItem>)%>
</li>
这是我的div。我从viewdata["AppList"]
获取值。我的下拉列表仅在页面加载中从ViewData获取值,即使我在其他控制器方法中更新我的viewdata它没有更新viewdata。 Plz的帮助。
这是jquery方法
function updateDropdown() {
$("#ApplicationName").html("");
$.ajax({
type: "POST",
url: "/Shielding/AjaxGetDdlList",
dataType: "json",
success: function (data) {
if (data == null) {
alert("Something went wrong. Please try again;");
}
else {
for (group in data) {
var newOption = $("<option></option>").attr("value", data[group].ShieldFirewallApplicationId).html(data[group].ShieldFirewallApplicationName);
alert(data[group].ShieldFirewallApplicationName);
$("#ApplicationName").append(newOption);
}
}
}
});
}
这是控制器方法:
public ActionResult AjaxGetDdlList()
{
return Json(ShieldingRep.GetAllApplications());
}
答案 0 :(得分:0)
调用之间不存在Viewdata。问题将在您的控制器中找到。
答案 1 :(得分:0)
您可能需要使用tempdata。尝试使用viewmodels方法,您可以从link
获得帮助