复选框检查asp.net MVC2中的值

时间:2011-06-02 19:38:13

标签: asp.net-mvc-2

我使用以下语法创建一个复选框:

<%: 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>

请建议

1 个答案:

答案 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" })。在您的情况下,听起来您已经为表单上的一个或多个元素分配了相同的名称,因此值将与逗号连接在一起。我要检查您的网页是否包含具有相同名称属性的其他元素。