【问题标题】:Html.ActionLink, Url.ActionLink and Html.RouteLink return empty urlsHtml.ActionLink、Url.ActionLink 和 Html.RouteLink 返回空 url
【发布时间】:2010-08-15 00:30:47
【问题描述】:

Html.ActionLink、Url.ActionLink 和 Html.RouteLink 返回空 url,即使目标 url 有效并从 url 正确显示?

我玩弄了这条路线,但它毫无例外地一直返回空 url。

【问题讨论】:

  • 我在升级到 MVC 3 RC2 时遇到了同样的问题。
  • 如果我们要帮助您,您需要向我们提供更多信息。您的路线、您使用 RouteLink 创建的链接以及您尝试使用它调用的控制器/操作。

标签: asp.net-mvc asp.net-mvc-2 routing actionlink routelink


【解决方案1】:

将我的项目从 mvc2 升级到 mvc3 时,我遇到了同样的问题。 问题出在我放入新项目的旧 global.asax 文件中。

所以当我将旧的 .asax 替换为新的时,actionLinks 开始正常工作。

Global.asax 用于 mvc3

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);
    }
}
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 2011-05-22
    • 1970-01-01
    • 2010-10-14
    • 2011-09-02
    相关资源
    最近更新 更多