1

Html.ActionLink、Url.ActionLink、および Html.RouteLink は、ターゲット URL が有効であり、URL から適切に表示されているにもかかわらず、空の URL を返しますか?

ルートをいじってみましたが、例外なく空のURLを返します。

4

1 に答える 1

0

プロジェクトを 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);
    }
}
}
于 2011-05-29T14:15:26.950 に答える