Я использую стандартный веб-проект MVC 3 и записал свой HTML-код в стандартный файл HTML, а затем скопировал / вставил его в файл _layout.cshtml. Со всеми правильными RenderBody () и @ Html.Partial ("_ LogOnPartial") страница работает нормально, но ActionLink внутри _LogOnPartial не отображает href.
Html.ActionLink("Log On", "LogOn", "Account")
выйдет как:
<a href="">Log On</a>
Это не отличается от стандартной ссылки, которую вы получаете при запуске веб-проекта MVC 3.
Зарегистрированные маршруты:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Products",
"{controller}/{action}/{id}",
new {controller = "Products", action = "Index"});
routes.MapRoute(
"Newsletter",
"{controller}/{action}/{emailAddress}",
new { controller = "Newsletter", action = "Index" });
routes.MapRoute(
"Account",
"{controller}/{action}/{id}",
new { controller = "Account", action = "LogOn", id = UrlParameter.Optional });
}
Я не понимаю, почему это происходит, но в Visual Studio это не подчеркивает действие или контроллер, что заставляет меня думать, что он не видит AccountController должным образом. У кого-нибудь есть идеи?