按钮点击更新viewdata

时间:2011-06-13 05:41:06

标签: asp.net-mvc

<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());
}

2 个答案:

答案 0 :(得分:0)

调用之间不存在Viewdata。问题将在您的控制器中找到。

答案 1 :(得分:0)

您可能需要使用tempdata。尝试使用viewmodels方法,您可以从link

获得帮助