MVC DropDownListFor在视图中基本为True False

时间:2011-10-06 01:07:28

标签: asp.net-mvc

我正在尝试在MVC中设置一个基本的DropDownListFor:

@Html.DropDownListFor(modelItem => item.CheckerApproved, new SelectList(new SelectListItem { Text = "True", Value="1" } , new SelectListItem { Text = "False", Value="0"}))

这是我认为的,我想要的是truefalse的基本下拉列表,其值分别为10

我认为我错误的部分是将项添加到SelectList构造函数。

有人可以帮我吗?

4 个答案:

答案 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" } )