Html.ActionLink、Url.ActionLink、および Html.RouteLink は、ターゲット URL が有効であり、URL から適切に表示されているにもかかわらず、空の URL を返しますか?
ルートをいじってみましたが、例外なく空のURLを返します。
Html.ActionLink、Url.ActionLink、および Html.RouteLink は、ターゲット URL が有効であり、URL から適切に表示されているにもかかわらず、空の URL を返しますか?
ルートをいじってみましたが、例外なく空のURLを返します。
プロジェクトを mvc2 から mvc3 にアップグレードするときにも同じ問題が発生します。問題は、新しいプロジェクトに入れた古いglobal.asaxファイルにありました。
そのため、古い .asax を新しいものに置き換えると、actionLinks が適切に機能し始めます。
mvc3 のGlobal.asax
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace RealtyMVC
{
public class MvcApplication : System.Web.HttpApplication
{
//!!!add this method
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
//!!!and add this call
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
}
}