【问题标题】:Binding dropdown when ajax form in submitted in mvc2 asp.net在 mvc2 asp.net 中提交 ajax 表单时绑定下拉列表
【发布时间】:2011-07-09 10:58:04
【问题描述】:

我的要求很简单,我认为有两个下拉菜单。默认情况下填充第一个下拉列表,并且必须根据第一个下拉列表中的值填充第二个下拉列表。

我的看法是

<script type='text/javascript'>

$(function() {
    $('#ddlRoles').change(function() {
        $(this).parents('form').submit();
    });
});

< % using (Ajax.BeginForm("UpdateDropdownForm", new AjaxOptions { UpdateTargetId = "txtDropdownValue" }))
{ %>
<%= Html.DropDownList("ddlRoles", (IEnumerable<SelectListItem>)ViewData["RolesData"])%>
<%= Html.DropDownList("ddlUsers", (IEnumerable<SelectListItem>)ViewData["UsersList"])%>

我的控制器是

public class HomeController : Controller
{       
    public ActionResult Index()
    {
        ViewData["RolesData"] = GetDropdownList();

        List<SelectListItem> usersList = new List<SelectListItem>();
        usersList.Add(new SelectListItem() { Text = "Select" });

        ViewData["UsersList"] = usersList;
        TempData["UsersList"] = usersList;
        return View();
    }

    public IEnumerable<SelectListItem> UpdateDropdownForm(string ddlRoles)
    {
        ViewData["UsersList"] = GetUsersList();
        TempData["UsersList"] = GetUsersList();

        return GetUsersList();            
    }

    public List<SelectListItem> GetDropdownList()
    {
        List<SelectListItem> list = new List<SelectListItem>();

        list.Add(new SelectListItem() { Text = "Admin", Value = "1" });
        list.Add(new SelectListItem() { Text = "Employee", Value = "2" });
        list.Add(new SelectListItem() { Text = "Manager", Value = "3" });

        return list;
    }

    public List<SelectListItem> GetUsersList()
    {
        List<SelectListItem> list = new List<SelectListItem>();

        list.Add(new SelectListItem() { Text = "Administrator", Value = "10" });
        list.Add(new SelectListItem() { Text = "Ramesh", Value = "20" });
        list.Add(new SelectListItem() { Text = "Satish", Value = "30" });

        return list;
    }
}

在这里,我能够发布第一个下拉数据,并在 viewdata/tempdata 中设置第二个下拉数据,并在视图中将数据绑定到第二个下拉。但这不起作用。

现在,当第一个下拉列表更改时,我只是绑定第二个下拉列表。但是如果我想填写一个下拉列表并在两个文本框中显示数据怎么办。这种情况下我该怎么办?

我该如何解决这个问题。 请帮忙。

【问题讨论】:

    标签: asp.net-mvc-2 drop-down-menu cascadingdropdown ajaxform


    【解决方案1】:

    您可能会发现following answer 对于生成级联下拉列表很有用。

    【讨论】:

    • 我忘了告诉你,我正在使用 mvc2。让我检查一下示例
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多