从MVC部分视图中选择DropDownList项

时间:2013-05-19 03:22:13

标签: asp.net-mvc asp.net-mvc-4 html-select

我在局部视图中使用@ Html.DropDownList来显示库列表并在Bank Branch视图中呈现它。 如何在@ Html.DropDownList中获取所选Bank并在BankBranchModel中填充BankId。

这是我的代码:

BankBranchModel:

public class BankBranchModel : BaseModel
{
    public int? **BankID** { get; set; }
    public string Name { get; set; }
    public string Code { get; set; }
    public string Phone { get; set; }
    public string Address { get; set; }
}

我的部分观点:

@Html.DropDownList("Banks", Model , "- Please Select -"})

BankBranch查看:

@model MvcFirstSample.Models.BankBranchModel
@{
    ViewBag.Title = "create";
}

<h2>create</h2>

@using (Html.BeginForm())
{
    @Html.ValidationSummary(true)


    <div class="editor-field">
        **@Html.Action("GetAllBank", "BankBranch")**

    </div>

GetAllBanks返回部分视图:

public ActionResult GetAllBank()
        {

            var Banks = Context.Banks.ToList();
            List<BankLookup> BankLookupList = new List<BankLookup>();

            var listItems = new List<SelectListItem>();

            foreach (var Bank in Banks)
            {
                listItems.Add(new SelectListItem { Text = Bank.Name, Value = Bank.Id.ToString()});
            }

            **return PartialView("BankLookup", listItems);**
        }

2 个答案:

答案 0 :(得分:1)

为什么您不想使用ViewBag? 在您的 Partial View中,您可以说:

@Html.DropDownList("listItems",(IEnumerable<SelectListItem>)ViewBag.listItems )

,然后使用Jquery获取所选项目:

      var selectBanks= $("#listItems");

        var selectedOptionId = selectBanks.find("option:selected").val();

然后填充bankid的输入,假设它的id为bankid:

     $("#bankid").val(selectedOptionId);

答案 1 :(得分:0)

这是一种方式......

在您的部分视图中:

@Html.DropDownList("bank_list")

在您的控制器中,通过绑定ID和值填充列表:

ViewBag.bank_list = new SelectList(listItems, "Text", "Value");