加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 向Html.ActionLink添加一个类 – ASP.NET MVC

发布时间:2020-12-16 07:35:09 所属栏目:asp.Net 来源:网络整理
导读:我需要在这个链接中添加一个类: @Html.ActionLink("Sign Out","LogOff","Account") 但是当我这样做时: @Html.ActionLink("Sign Out","Account",new{@class="btn blue"}) 该链接指向Home控制器,而不是Account控制器因此抛出404. /Home/LogOff?Length=7 我究
我需要在这个链接中添加一个类:

@Html.ActionLink("Sign Out","LogOff","Account")

但是当我这样做时:

@Html.ActionLink("Sign Out","Account",new{@class="btn blue"})

该链接指向Home控制器,而不是Account控制器因此抛出404.

/Home/LogOff?Length=7

我究竟做错了什么?

谢谢

解决方法

尝试使用ActionLink助手的正确重载(是的,有很多重载):

@Html.ActionLink(
    "Sign Out",// linkText
    "LogOff",// actionName
    "Account",// controllerName
    null,// routeValues
    new { @class = "btn blue" }  // htmlAttributes
)

而你正在使用:

@Html.ActionLink(
    "Sign Out",// routeValues
    new { @class = "btn blue" }    // htmlAttributes
)

看看为什么你的代码不起作用?

是的,微软对这些超载做了一团糟,如果你不小心,你会陷入陷阱.

解决方案:读取MSDN或使用Visual Studio Intellisense(当光标位于ActionLink帮助程序上时使用F12).

出于这个原因,我更喜欢使用C#4.0命名参数以模式显式方式编写它:

@Html.ActionLink(
    linkText:       "Sign Out",actionName:     "LogOff",controllerName: "Account",routeValues:    null,htmlAttributes: new { @class = "btn blue" }
)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读