2017-02-17 3 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.

Вот что вам нужно:

@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

Извините, но это то же самое, что и та же ошибка. –

+0

Это очень неприятно! –

+0

Что он на самом деле визуализирует? «Это не работает» не помогает мне понять, почему это не работает. – Amy

1

Предполагая, что контроллер внутри области «Администратор» называется событие, код Бритва для создания правильной ссылки будет:

@Html.ActionLink("url text", "Index", "Event", new { area = "Admin" }); 
// Note: You might have problem with the "badge" class 

с использованием classic html url:

<a href='@Url.Action("Index", "Event", new { area = "Admin" })'> 
    <span>Events:</span>&nbsp;<span class="badge">@ViewBag.Count</span> 
</a> 
+0

Извините, что та же ошибка ошибки 404. –

+0

У вас есть класс контроллера под названием «EventController» в вашей области «Admin»? У вас есть действие под названием «Индекс» в этом контроллере? –

+0

Первая ссылка на действие, которую вы опубликовали, некорректна .. нет перегрузки, которая принимает строку, строку, строку, RouteValueDictionary' .. вам нужно добавить атрибуты html .. например: '@ Html.ActionLink (" url text " , «Индекс», «Событие», новый {area = «Admin»}, null); ' –

Смежные вопросы