我使用以下语法创建一个复选框:
<%: Html.CheckBox("Monday", new { id = "Monday" })%>
<label for="Monday">
Monday</label>
在asp.net MVC2视图中,当我尝试在控制器操作中获取它时:
string Monday = Request["Monday"];
请求[“星期一”]的值为“true,false”。为什么这样?如何获取当前值(选中/取消选中复选框)
[EDITED]
<fieldset>
<legend>Week days</legend>
<%: Html.CheckBox("Monday", new { id = "Monday" })%>
<label for="Monday">
Monday</label>
<%: Html.CheckBox("Tuesday", false, new { id = "Tuesday" })%>
<label for="Tuesday">
Tuesday</label>
<%: Html.CheckBox("Wednesday", false, new { id = "Wednesday" })%>
<label for="Wednesday">
Wednesday</label>
<%: Html.CheckBox("Thrusday", false, new { id = "Thrusday" })%>
<label for="Thrusday">
Thrusday</label>
<%: Html.CheckBox("Friday", false, new { id = "Friday" })%>
<label for="Friday">
Friday</label>
<%: Html.CheckBox("Saturday", false, new { id = "Saturday" })%>
<label for="Saturday">
Saturday</label>
<%: Html.CheckBox("Sunday", false, new { id = "Sunday" })%>
<label for="Sunday">
Sunday</label>
</fieldset>
请建议
答案 0 :(得分:0)
在您的情况下,使用HtmlHelper创建复选框没有多大用处。只需更容易自己制作代码:
<input type="check" id="something" name="monday" checked="checked" />
然后你可以像这样发帖时访问该值:
string rawValue = Request.Form["monday"];
或者,您可以创建一个视图模型并创建一个如下所示的复选框:
<% Html.CheckBoxFor(x => x.MyBooleanProperty) %>
此外,当您使用这样的帮助程序时,它实际上会为您生成ID,因此您不需要分配值的ID(也就是说,不需要{ id = "monday" }
)。在您的情况下,听起来您已经为表单上的一个或多个元素分配了相同的名称,因此值将与逗号连接在一起。我要检查您的网页是否包含具有相同名称属性的其他元素。