【发布时间】:2011-11-10 16:29:55
【问题描述】:
我继承了一个使用 MVCContrib 1.5 的 ASP.NET MVC 1 网站,我正在尝试升级到 MVC 3 和 MVCContrib 3。
网站使用Html.Grid时出现如下情况
.Columns(column=>{
column.For("Yes").Action(p =>{%>
<td>
<%=this.Hidden("category[" + i +"].Id").Value(p.Id)%>
<%=this.RadioButton("category[" + i + "].Interested").Value("true") %>
</td>
<%});
column.For("No").Action(p =>{%>
<td>
<%=this.RadioButton("category[" + i + "].Interested").Value("false") %>
</td>
<%});
})
在 MvcContrib 中,.For("Yes") 不再是创建以字符串为标题的列的有效语法。
为了让它工作,我必须将它更改为.For(c=>"Yes"),并且我必须添加.Named("Yes") 才能取回标题文本。据我所知,c=>"Yes" 实际上并没有做任何有用的事情。应该去那里做什么?或者如果它没有造成任何伤害,我应该离开它吗?
另外,.Action 已被弃用,它说要改用 .Custom。我将如何转换上述内容?
column.Custom(p => {%>
<td style="text-align:center">
<%=this.Hidden("category[" + i + "].Id").Value(p.Id)%>
<%=this.RadioButton("category[" + i + "].Interested").Value("true") %>
</td>
<% }).Named("Yes");
这需要一个返回值,我不知道该放什么,也找不到很多例子。
【问题讨论】:
标签: c# asp.net-mvc-3 razor mvccontrib