उन runat सर्वर टैग को हटाने का प्रयास करें। उन्हें एएसपी.नेट एमवीसी में इस्तेमाल नहीं किया जाना चाहिए। इसके अलावा आपके चयन का नाम नहीं है। यदि किसी इनपुट तत्व का नाम नहीं है तो यह कुछ भी सबमिट नहीं करेगा।
<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>
लेकिन सही तरीका ASP.NET MVC में रूपों उत्पन्न करने के लिए HTML सहायकों उपयोग करने के लिए है: इसके अलावा अपने विकल्प टैग मूल्य गुण जो इंगित करता है कि अगर यह विकल्प चुना जाता है क्या मूल्य सर्वर पर भेज दिया जाएगा होना आवश्यक है। दृश्य इंजन के आधार पर आप सिंटैक्स का उपयोग कर रहे हैं अलग हो सकता है। यहाँ उस्तरा दृश्य इंजन के साथ एक उदाहरण है:
@model MyViewModel
@using (Html.BeginForm("Create", "Home"))
{
<p>
@Html.DropDownListFor(x => x.SelectedYear, Model.Years)
<input type="submit" value="Change Year" />
</p>
}
यहाँ आप कुछ विशेष दृश्य के मॉडल के लिए एक जोरदार टाइप किया दृश्य है:
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
}
}
स्रोत
2011-10-07 20:39:51
'runat =" server "' webforms चीजें नहीं है? –