2017-02-17 96 views
-2

上的錯誤404我創造了這個:一個HTML鏈接

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

算表的數量。當我嘗試瀏覽到參考:~/Areas/Admin/Views/Event/Index.cshtml我得到如下:

HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.

我已經驗證了,我已經把它改爲:@Html.ActionLink("Event", "Index")到:@Url.View("Event", "Index")更多的人,我已經仔細查看路徑,我已經從控制器中刪除了授權並在互聯網上搜索,但沒有。

有人可以給我一些建議嗎?

+0

您是否嘗試過沒有〜 – PersyJack

+1

您不直接鏈接到視圖。你鏈接到行動。請記住,您正在使用MVC。 – Amy

+0

如果取消路徑,它顯示相同的事情! –

回答

1

如果您使用的是區域。然後你需要使用正確的過載形式。

這裏是你需要的東西:

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

希望這有助於!

1

你的行爲和控制器是向後的。第一個參數也是標籤。見documentation

public static MvcHtmlString ActionLink( this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName

您當前的代碼是:

@Html.ActionLink("Event", "Index") 

但是,你有順序不對,你就錯過了標籤。假設你的控制器是EventController,這將是

@Html.ActionLink("the link label", "Index", "Event") 
+0

對不起Amy,但它是一樣的,它顯示相同的錯誤。 –

+0

這非常令人沮喪! –

+0

它實際呈現的是什麼? 「它不起作用」並不能幫助我理解爲什麼它不起作用。 – Amy

1

假設區「管理員」內部控制器被稱爲事件,剃刀代碼生成正確的鏈接將是:

@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> 
+0

對不起,顯示器的錯誤是404。 –

+0

你的「管理員」區有沒有一個名爲「EventController」的控制器類?你在那個控制器裏有一個叫做「索引」的動作嗎? –

+0

您發佈的第一個操作鏈接不正確..沒有接受「字符串,字符串,字符串,RouteValueDictionary」的重載..您需要添加html屬性..就像這樣:'@ Html.ActionLink(「url text」 ,「Index」,「Event」,new {area =「Admin」},null);' –