相关疑难解决方法(0)

如何处理ASP.NET MVC表单中的复选框?

警告:这个问题已经超过九年了!

您最好的选择是搜索更新的问题,或搜索下面的答案,寻找您的MVC的特定版本,因为现在许多答案已经过时.

如果您确实找到适合您的版本的答案,请确保答案包含您正在使用的MVC版本.
(原始问题从下面开始)


这对我来说似乎有点奇怪,但就我所知,这就是你如何做到的.

我有一组对象,我希望用户选择其中一个或多个.这对我说"形式有复选框".我的对象没有任何"选择"的概念(它们是通过反序列化wcf调用形成的基本POCO).所以,我做了以下事情:

public class SampleObject{
  public Guid Id {get;set;}
  public string Name {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

在视图中:

<%
    using (Html.BeginForm())
    {
%>
  <%foreach (var o in ViewData.Model) {%>
    <%=Html.CheckBox(o.Id)%>&nbsp;<%= o.Name %>
  <%}%>
  <input type="submit" value="Submit" />
<%}%>
Run Code Online (Sandbox Code Playgroud)

并且,在控制器中,这是我可以看到用来检查用户检查的对象的唯一方法:

public ActionResult ThisLooksWeird(FormCollection result)
{
  var winnars = from x in result.AllKeys
          where result[x] != "false"
          select x;
  // yadda
}
Run Code Online (Sandbox Code Playgroud)

它首先是怪异的,其次,对于用户检查的那些项,FormCollection将其值列为"真假"而不仅仅是真.

显然,我错过了一些东西.我认为这是基于这样的想法构建的,即在html表单中作用的集合中的对象是使用UpdateModel()或通过ModelBinder 更新的.

但我没有为此设置对象; 这是否意味着这是唯一的方法?还有另一种方法吗?

forms checkbox asp.net-mvc

247
推荐指数
10
解决办法
23万
查看次数

模型绑定到列表MVC 4

是否有将IList项绑定到视图的模式.我似乎遇到了HttpPost的问题.我知道菲尔哈克写了一篇很好的文章,但它已经过时了,他说他们可能会修复MVC 4.

c# asp.net-mvc-4

29
推荐指数
3
解决办法
10万
查看次数

标签 统计

asp.net-mvc ×1

asp.net-mvc-4 ×1

c# ×1

checkbox ×1

forms ×1