2013-05-19 30 views
0

我在部分視圖中使用@ Html.DropDownList來顯示銀行列表並將其呈現在銀行分行視圖中。 如何獲取@ Html.DropDownList中選定的銀行並在BankBranchModel中填入BankId。從MVC中獲取選定的DropDownList項部分視圖

這裏是我的代碼:

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

回答

1

爲什麼你不想使用ViewBag? 在你Partial View你可以說:

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

,然後使用Jquery獲得選擇的項目:

 var selectBanks= $("#listItems"); 

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

然後填充爲bankid輸入假定它有bankid的ID:

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

這裏有一種方法......

在您的局部視圖:

@Html.DropDownList("bank_list") 

在您的控制器,通過結合ID和值填充列表:

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

謝謝爲你的答案,但我不想使用viewBag。 –

+0

如果是這樣的話,你可能要考慮JQuery/Javascript。這有點多,所以你應該多研究一下。 – skyacct

相關問題