我创造了这个:
<a href="~/Areas/Admin/Views/Event/Index.cshtml"><span>Events:</span> <span class="badge">@ViewBag.Count</span></a>
&#13;
计算表数。当我尝试导航到该引用时:~/Areas/Admin/Views/Event/Index.cshtml
我得到以下内容:
HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。
我已经对其进行了验证,我已将其更改为:@Html.ActionLink("Event", "Index")
至:@Url.View("Event", "Index")
还有更多,我已经仔细查看了该路径,我已将其删除了控制器并在互联网上搜索但没有。
有人可以给我一些建议吗?
答案 0 :(得分:1)
您的操作和控制器是向后的。第一个参数也是标签。请参阅documentation:
public static MvcHtmlString ActionLink( 这个HtmlHelper htmlHelper, string linkText, string actionName, string controllerName
您当前的代码是:
@Html.ActionLink("Event", "Index")
但是,您的订单错了,而且您错过了标签。假设您的控制器为EventController
,则为
@Html.ActionLink("the link label", "Index", "Event")
答案 1 :(得分:1)
假设区域内的控制器&#34; Admin&#34;被称为事件,用于生成正确链接的Razor代码将是:
@Html.ActionLink("url text", "Index", "Event", new { area = "Admin" });
// Note: You might have problem with the "badge" class
使用经典的html网址:
<a href='@Url.Action("Index", "Event", new { area = "Admin" })'>
<span>Events:</span> <span class="badge">@ViewBag.Count</span>
</a>
答案 2 :(得分:1)
如果您正在使用区域。然后,您需要使用Html.ActionLink
重载的正确形式。
以下是您的需求:
@Html.ActionLink("url text", "Index", "Event", new { area = "Admin" }, null);
希望这有帮助!