HTML链接上的错误404

时间:2017-02-17 13:59:54

标签: html asp.net-mvc

我创造了这个:



<a href="~/Areas/Admin/Views/Event/Index.cshtml"><span>Events:</span>&nbsp;<span class="badge">@ViewBag.Count</span></a>
&#13;
&#13;
&#13;

计算表数。当我尝试导航到该引用时:~/Areas/Admin/Views/Event/Index.cshtml我得到以下内容:

  

HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。

我已经对其进行了验证,我已将其更改为:@Html.ActionLink("Event", "Index")至:@Url.View("Event", "Index")还有更多,我已经仔细查看了该路径,我已将其删除了控制器并在互联网上搜索但没有。

有人可以给我一些建议吗?

3 个答案:

答案 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>&nbsp;<span class="badge">@ViewBag.Count</span>
</a>

答案 2 :(得分:1)

如果您正在使用区域。然后,您需要使用Html.ActionLink重载的正确形式。

以下是您的需求:

@Html.ActionLink("url text", "Index", "Event", new { area = "Admin" }, null);

希望这有帮助!