我正在尝试在MVC中设置一个基本的DropDownListFor:
@Html.DropDownListFor(modelItem => item.CheckerApproved, new SelectList(new SelectListItem { Text = "True", Value="1" } , new SelectListItem { Text = "False", Value="0"}))
这是我认为的,我想要的是true
和false
的基本下拉列表,其值分别为1
和0
。
我认为我错误的部分是将项添加到SelectList构造函数。
有人可以帮我吗?
答案 0 :(得分:25)
试试这个:
@Html.DropDownListFor(modelItem => modelItem.CheckerApproved, new [] { new SelectListItem { Text = "True", Value="1" } , new SelectListItem { Text = "False", Value="0"} })
答案 1 :(得分:3)
对于这样的事情,你为什么不在视图中只选择带有选项的Select标签?
<select id='ddlTrueFalse' name='ddlTrueFalse'>
<option value='1'>True</option>
<option value='0'>False</option>
</select>
然后在你的Action中添加参数:
public ActionResult MyAction(string ddlTrueFalse)
{
//ddlTrueFalse will be "1" or "0"
}
我不得不做其中的一些,我实际上把它写成HtmlHelper的扩展方法,但它更清洁,易于调试,而且对于网站来说速度更快。
答案 2 :(得分:2)
这已经存在 - 如果你Html.EditorFor(model => model.MyBoolean)
,你会得到一个下拉列表,其中包含True / False和默认值Unset或类似。
答案 3 :(得分:0)
我很难弄清楚如何添加一个&#34;类&#34;到上面的代码,所以我分享了这个,不得不将原始下拉列表放在括号中,然后添加一个重载
@Html.DropDownListFor(modelItem => modelItem.XXX, (new[] { new SelectListItem { Text = "True", Value = "1" }, new SelectListItem { Text = "False", Value = "0" } }), new { @class = "form-control" } )