2013-05-19 4 views
0

Я использую @ Html.DropDownList в частичном представлении, чтобы отобразить список банков и отобразить их в представлении Bank Branch. Как я могу получить выбранный банк в @ Html.DropDownList и заполнить BankId в BankBranchModel.Получить выделенный элемент DropDownList из MVC Частичный вид

вот мой код:

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:

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

Вот один из способов ...

В вашем частичном виде:

@Html.DropDownList("bank_list") 

В контроллере, заполнить список путем связывания идентификаторов и значений:

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

Спасибо для вашего ответа, но я не хочу использовать viewBag. –

+0

Если это так, вы можете рассмотреть JQuery/Javascript. Это немного больше, поэтому вы должны исследовать его еще немного. – skyacct

Смежные вопросы