首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML-5数据-*属性在ASP.NET MVC 4 (beta)中是否被破坏?

HTML-5数据-*属性在ASP.NET MVC 4 (beta)中是否被破坏?
EN

Stack Overflow用户
提问于 2012-03-06 23:36:16
回答 1查看 2.5K关注 0票数 8

根据这个问题的说法,我应该能够写这样的东西:

代码语言:javascript
复制
@Html.ActionLink( "Delete", "Delete", "Message", new { data_id=id, @class="delete" } )

或者作为一个快乐的T4MVC用户可以这样做:

代码语言:javascript
复制
@Html.ActionLink( "Delete", MVC.Message.Actions.Delete(), new { data_id=id, @class="delete" } )

并在呈现过程中替换"data_id“中的下划线:

代码语言:javascript
复制
<a href="/message/delete" class="delete" data-id="42">Delete</a>

然而,这似乎不适用于MVC 4 beta版。还有人看到这个问题吗?

这是有意的改变吗?如果是的话,我应该做些什么呢?

更新--如何修复(手动)

我对T4MVC.tt文件进行了以下更改,它修复了生成代码中的问题:

代码语言:javascript
复制
public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, ActionResult result, object htmlAttributes, string protocol = null, string hostName = null, string fragment = null) {
    //was: return ActionLink(htmlHelper, linkText, result, new RouteValueDictionary(htmlAttributes), protocol, hostName, fragment);
    return htmlHelper.RouteLink(linkText, null, protocol, hostName, fragment, result.GetRouteValueDictionary(), HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes));
}

更新2-修复可用的

David对报告的问题的反应非常迅速,并且已经将上面的修复程序合并到T4MVC中。

更新3-修复修复

令人尴尬的是,最初提交的修复程序实际上没有工作,因为它仍然被称为无效的重载。现在,我已经修改了代码,以便在内部(使用它们的助手方法)执行与MVC相同的操作,并通知David将其包含在T4MVC中。从codeplex获取2.6.70,或者在发布时使用NuGet进行更新,可能很快。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-07 03:46:37

试一试

@Html.ActionLink( "Delete", "Delete", "Message", null, new { data_id=id, @class="delete" } )

我认为,因为所有的重载,它是假设您的第四个参数是routeValues参数。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9593631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档