【发布时间】:2018-11-09 06:28:55
【问题描述】:
我今天在我的项目中遇到了一个非常奇怪的行为。 所以我在一个网站上工作,它有一个管理员视图和一个普通用户视图。这些页面存储在名为“Admin”的文件夹和“Views”文件夹下名为“User”的文件夹中
我开始只为管理页面设置功能,所以我从未意识到我的 UserController 不起作用。它总是将我路由到 Admin/Somepage 而不是 User/Somepage。
经过一番测试,我发现了以下问题:
如果我使用
@Html.ActionLink("Admin", "AdminHome", "Admin")
@Html.ActionLink("User", "UserHome", "User")
一切正常。
但是,例如,只要我将一个类添加到链接中
@Html.ActionLink("User", "UserHome", "User", new { class= "someClass" })
它停止工作。当我现在单击指向用户主页的链接时,它会路由到 Admin/UserHome 而不是 User/UserHome 并且显然找不到该页面。
这是为什么呢?有人经历过吗?
我的意思是我仍然可以将它包装在另一个 div 中并在那里添加类。我只想知道这种行为背后是否有原因。
【问题讨论】:
-
如果你使用
new { @class= "someClass" }会发生什么?请注意,class是保留关键字,因此您需要使用前缀@对其进行转义 -
因为需要
@Html.ActionLink("User", "UserHome", "User", null, new { class= "someClass" }) -
那么可能是上述两个 cmets 的混合:
@Html.ActionLink("User", "UserHome", "User", null, new { @class= "someClass" })
标签: c# html asp.net-mvc razor actionlink