bu runat sunucu etiketleri kaldırmayı deneyin kullanma. ASP.NET MVC'de kullanılmamalıdır. Ayrıca seçiminizin bir adı yok. Bir giriş öğesinin adı yoksa, hiçbir şey göndermez.
<form action="/Home/Create" method="post">
<p>
<select id="BLAHBLAH2" name="BLAHBLAH2">
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
<option value="2013">2013</option>
</select>
<input type="submit" value="Change Year" />
</p>
</form>
Ama ASP.NET MVC formları oluşturmak için doğru yolu HTML yardımcıları kullanmaktır: Ayrıca opsiyon etiketleri bu seçenekler seçilirse değer sunucuya gönderilecek belirtir değer özelliklerini olmalıdır. Sözdizimini kullandığınız görünüm motoruna bağlı olarak farklı olabilir. İşte Ustura görünümü motoru ile bir örnek:
İşte
@model MyViewModel
@using (Html.BeginForm("Create", "Home"))
{
<p>
@Html.DropDownListFor(x => x.SelectedYear, Model.Years)
<input type="submit" value="Change Year" />
</p>
}
bazı verilmiş görünümü modeline kesinlikle yazılı görünümü vardır: Bu görünümü oluşturur bazı denetleyici eylem tarafından doldurulur
public class MyViewModel
{
public string SelectedYear { get; set; }
public IEnumerable<SelectListItem> Years
{
get
{
return Enumerable
.Range(2010, 4)
.Select(x => new SelectListItem
{
Value = x.ToString(),
Text = x.ToString()
});
}
}
}
:
public class HomeController: Controller
{
public ActionResult Index()
{
var model = new MyViewModel();
return View(model);
}
[HttpPost]
public ActionResult Create(MyViewModel model)
{
... model.SelectedYear will contain the selected year
}
}
, "runat =" server "' bir web formları değil midir? –