Привязка раскрывающегося списка, когда форма ajax представлена ​​в mvc2 asp.net - PullRequest
0 голосов
/ 09 июля 2011

Мое требование простое, на мой взгляд, есть два выпадающих списка.Первый раскрывающийся список заполняется по умолчанию, а второй должен быть заполнен на основе значений из первого раскрывающегося списка.

Мой взгляд

<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, а также связать данные со вторым раскрывающимся списком.Но это не работает.

На данный момент, когда первый раскрывающийся список изменяется, я просто связываю второй раскрывающийся список.но что если я захочу заполнить выпадающий список и отобразить данные в двух текстовых полях.Что мне делать в этом случае?

Как мне решить эту проблему.пожалуйста, помогите.

1 Ответ

0 голосов
/ 09 июля 2011

Вы можете найти следующий ответ , полезный для создания каскадных выпадающих списков.

...