C# ASP.NET MVC中的DropdownList-未发布值
我在ASP MVC(Razor)中有一个表单,在这个表单中我有一个文本框。。。和一个C# ASP.NET MVC中的DropdownList-未发布值,c#,asp.net,asp.net-mvc,asp.net-mvc-4,razor,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Razor,我在ASP MVC(Razor)中有一个表单,在这个表单中我有一个文本框。。。和一个,我想将此选择的所选选项(值)像其他信息一样传输到控制器。文本框被正确地传输到控制器,并保存在数据库中 我在数据库中有一个名为NumberParticipant的字段,由于我的创建控制器,我想在数据库中传输信息: 我的代码: @using (Html.BeginForm()) { <div class="form-group"> @Html.LabelFor(model => mod
,我想将此选择的所选选项(值)像其他信息一样传输到控制器。文本框被正确地传输到控制器,并保存在数据库中
我在数据库中有一个名为NumberParticipant的字段,由于我的创建控制器,我想在数据库中传输信息:
我的代码:
@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" />
}
@使用(Html.BeginForm())
{
@LabelFor(model=>model.LocalNumber,新的{@class=“controllabel col-md-2”})
@EditorFor(model=>model.LocalNumber,new{htmlAttributes=new{@class=“form control”}})
@Html.ValidationMessageFor(model=>model.LocalNumber)
2.
3.
4.
5.
}
使用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>
@Html.DropDownListFor(model=>model.NumberParticipant,
新建选择列表(新建[]
{new{value=”“,text=”“},
新的{value=“2”,text=“2”},
新的{value=“3”,text=“3”},
新的{value=“4”,text=“4”},
新建{value=“5”,text=“5”}
}新的{htmlAttributes=new{@class=“form control”})
最佳做法是将SelectList类型的属性添加到模型类中,并在其中设置可能的选项。然后可以在帮助器中引用新属性,如下所示:
<div class="col-md-10">
@Html.DropDownListFor(model => model.NumberParticipant,
Model.MySelectList, new { htmlAttributes = new { @class = "form-control" }})
</div>
@Html.DropDownListFor(model=>model.NumberParticipant,
Model.MySelectList,new{htmlAttributes=new{@class=“form control”})
您的
没有名称
属性,因此不会发回任何内容。(为什么不绑定到一个模型属性并使用@Html.DropDownListFor()
)我想到了DropDownListFor,但是我如何才能将选项2、3、4、5和第一个选项null放入这个dropdownlist?新的SelectList(“,”2“,”3“,”4“,”5”),我不能将5项放入那个好点!我刚刚编辑了我的答案,以更正填充SelectList的语法。我建议在模型中创建一个SelectList属性,并尽可能使用第二种方法。我的选项没有值,例如2,该值必须为22@user3524214,当您选择显示文本为2
的选项时,将回发2
的值(如果没有明确的值
属性,则使用文本)。