【问题标题】:MVC3 Custom Route has issues with Virtual DirectoryMVC3 自定义路由存在虚拟目录问题
【发布时间】:2011-04-05 16:36:23
【问题描述】:

我的全局中有这个

 //custom route
 routes.MapRoute(
      "DownloadInstall", // Route name
      "{controller}/{action}/{id}/{logonserver}", // URL with parameters
      new { controller = "Software", 
           action = "DownloadInstall" }  // Parameter defaults
 );

 //custom route
 routes.MapRoute(
      "DownloadHelp", // Route name
      "{controller}/{action}/{id}/{logonserver}", // URL with parameters
      new { controller = "Software", 
          action = "DownloadHelp" }  // Parameter defaults
 );

 //default route
 routes.MapRoute(
      "Default", // Route name
      "{controller}/{action}/{id}", // URL with parameters
      new { controller = "Software", action = "Index", 
           id = UrlParameter.Optional } // Parameter defaults
 );

我在 javascript 中调用自定义路由(效果很好),如下所示:

 window.location.href =  '/Software/DownloadHelp/' + @Model.ID +'\/' + 
      getLogonServer(); 

但是,一旦我将其移至具有虚拟目录的 IIS7 框,我的默认路由就足够智能,可以在前面加上虚拟名称...但是由于虚拟目录不在,因此找不到基于 javascript 的路由'不是前置。

【问题讨论】:

  • 这就是为什么你应该使用HtmlAjaxUrl帮助器来生成你的链接...
  • Sergi...thx...我试过了,但无法正确形成 javascript 变量 我试过这个 window.location.href = @Url.Action("Software", "DownloadInstall", new RouteValueDictionary(new {id = @Model.ID, getLogonServer()}), null);

标签: javascript asp.net-mvc-3 asp.net-mvc-routing


【解决方案1】:

如果我是你,我会尝试使用 Url 助手,但我意识到 javascript 函数结果会出现问题。
我不确定这是否可行,但您可以尝试像这样建立您的链接:

var server = getLogonServer();
window.location.href = '@Url.Action("DownloadHelp", "Software", 
    new { Model.Id, logonserver = ""})' + '/' + getLogonServer();

getLogonServer() 设为 Html 辅助函数而不是 javascript 函数肯定会起作用,但我不知道这是否适合您。

【讨论】:

    【解决方案2】:

    我通过使用 @Url.Content 帮助器解决了这个问题:

    window.location.href =  '@Url.Content("~/Software/DownloadInstall/")' + @Model.ID +'\/' + getLogonServer(); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多