我在ASP MVC(Razor)中有一个表单,在此表单中我有一个Textboxes ...,<select>
并且我想将此选择的所选选项(值)像其他信息一样传送给控制器。文本框已正确传输到控制器,并且在数据库中。
我在数据库中有一个名为NumberParticipant的字段,由于我的Create控制器,我想传输该数据库:
我的代码:
@using (Html.BeginForm())
{
<div class="form-group">
@Html.LabelFor(model => model.LocalNumber, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.LocalNumber, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.LocalNumber)
</div>
</div>
<div class="col-md-10">
<select class="form-control" id="numberParticipant">
<option value=""></option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</div>
<input type="submit" value="Create" class="btn btn-default" />
}
使用MVC DropDownList帮助程序可以避免编写所有html。这是一个在视图中设置选项值的示例。
<div class="col-md-10">
@Html.DropDownListFor(model => model.NumberParticipant,
new SelectList(new []
{ new {value="",text=""},
new {value="2",text="2"},
new {value="3",text="3"},
new {value="4",text="4"},
new {value="5",text="5"}
},"value","text"), new { htmlAttributes = new { @class = "form-control" }})
</div>
最佳实践是在模型类中添加SelectList类型的属性,并在那里设置可能的选项。然后,您可以像这样在助手中引用新属性:
<div class="col-md-10">
@Html.DropDownListFor(model => model.NumberParticipant,
Model.MySelectList, new { htmlAttributes = new { @class = "form-control" }})
</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句