asp.net-mvc - ASP.NET MVC 2强类型htmlhelper,索引

标签 asp.net-mvc asp.net-mvc-2

public class Foo { public bool Checked {get;set;}}

View :
<viewdata model="Foo[] fooList" />
<for each="var f in fooList">
    ${Html.CheckBoxFor(x=>x[fIndex].Checked)}
</for>

将输出:
<input id="Checked" name="Checked" type="checkbox" value="true" />
<input name="Checked" type="hidden" value="false" />

<input id="Checked" name="Checked" type="checkbox" value="true" />
<input name="Checked" type="hidden" value="false" />

<input id="Checked" name="Checked" type="checkbox" value="true" />
<input name="Checked" type="hidden" value="false" />

问题是System.Web.Mvc.ExpressionHelper.GetExpressionText在id / name中不包含索引。

如果我想为每个复选框添加标签,则会导致问题(因为所有id都相同)。

有什么想法如何正确处理吗?

从MVC来源=>
 while (part != null) {
            if (part.NodeType == System.Linq.Expressions.ExpressionType.MemberAccess) {
                MemberExpression memberExpressionPart = (MemberExpression)part;
                nameParts.Push(memberExpressionPart.Member.Name);
                part = memberExpressionPart.Expression;
            }
            else {
                //arghhhh... [index] != MemberAccess :(
                break;
            }
        }

最佳答案

产品中还没有基于表达式的助手了解索引的功能。它将在下一个预览版本中(无论MVC 2 RC之后是什么)。参见http://aspnet.codeplex.com/WorkItem/View.aspx?WorkItemId=4970

关于asp.net-mvc - ASP.NET MVC 2强类型htmlhelper,索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2093216/

相关文章:

c# - MVC 3 多个字段的远程验证

asp.net-mvc - MVC _layout 页面中放置脚本的位置

javascript - 如何取消 AJAX 长时间运行的 MVC 操作客户端(在 javascript 中)?

asp.net - MvcSiteMapProvider 包含额外的路由值

asp.net - 启动时缓存表 ASP.NET MVC 应用程序

asp.net-mvc-2 - 安装asp.mvc 2 beta nunit项目模板不受信任的组件错误

javascript - 获取/获取在 Kendo DropdownList 的数据源上查询的数据并在 Google map 上使用它

c# - 在 Ninject 中部署

asp.net-mvc-2 - MVC2中如何强制下载?

ruby-on-rails - ASP.net MVC 是 Ruby on Rails 概念的直接副本吗?