我在局部视图中使用@ 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);**
}
答案 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");