我有这个在我的全球MVC3自定义路由与虚拟目录的问题
//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的路由,因为虚拟目录未被预先占用。
这就是为什么你应该使用'Html','Ajax'和'Url'助手生成您的链接... – 2011-04-05 17:09:58
Sergi ... thx ...我试过,但无法获得正确的形式的JavaScript变量我试过这个window.location.href = @ Url.Action(“Software”,“DownloadInstall”,new RouteValueDictionary(new {id = @ Model.ID,getLogonServer()}),null); – Bayrat 2011-04-05 18:04:01