MVC

2010-06-09 12 views
9

'daki bir FormCollection öğesinden seçili açılan liste değerini elde edin MVC ile bir eylem için bir formum var. Seçilen açılır liste öğesini eylemde FormCollection öğesinden almak istiyorum. Nasıl yaparım?MVC

Benim Html formu:

<% using (Html.BeginForm()) 
    {%> 
    <select name="Content List"> 
    <% foreach (String name in (ViewData["names"] as IQueryable<String>)) { %> 
      <option value="<%= name %>"><%= name%></option> 
    <% } %> 
    </select> 
    <p><input type="submit" value="Save" /></p> 
<% } %> 

Benim Eylem:

cevap

10

Başlat sizin select etiketi geçerli name vererek. Geçerli bir ad boşluk içeremez.

<select name="contentList"> 

ve ardından form parametreleri koleksiyonundan seçilen değeri getirme: Herhangi koleksiyonları kullanmak adıyla aynı ada sahip bir işlem parametresini kullanmayın:

var value = collection["contentList"]; 

Hatta daha da iyisi seçin ve varsayılan model ciltleyiciyi bırakın: doldurun:

[HttpPost] 
public ActionResult Index(string contentList) 
{ 
    // contentList will contain the selected value 
    return RedirectToAction("Details", contentList); 
} 
+0

Oh snap! Teşekkürler, bu hile yaptı. Her iki yolu da denedim ama eylem parametresini nasıl kullandığınızı beğendim. –