通过带参数的JavaScript重定向到操作控制器(ASP.NET MVC)
当前,当我使用参数重定向到控制器的操作时,我必须这样做:通过带参数的JavaScript重定向到操作控制器(ASP.NET MVC),javascript,c#,asp.net-mvc,asp.net-mvc-4,knockout.js,Javascript,C#,Asp.net Mvc,Asp.net Mvc 4,Knockout.js,当前,当我使用参数重定向到控制器的操作时,我必须这样做: window.location.href = "/Controller/Action/?parameterId=" + this.Id(); window.location.href = "/Controller/Action/" + this.Id(); 但我真的希望是这样的: window.location.href = "/Controller/Action/?parameterId=" + this.Id(); window
window.location.href = "/Controller/Action/?parameterId=" + this.Id();
window.location.href = "/Controller/Action/" + this.Id();
但我真的希望是这样的:
window.location.href = "/Controller/Action/?parameterId=" + this.Id();
window.location.href = "/Controller/Action/" + this.Id();
为什么??因为我觉得第二件看起来不错的事情更倾向于ASP MVC的路由模式
可能吗
PD:Im使用击倒js…如果您的服务器代码是ASP.NET MVC,那么您可能已经有了RouteConfig.cs: 您可以使用RouteConfig.cs并定义您的路线: 通常,您会定义RouteConfig类和
public static void RegisterRoutes(RouteCollection routes){
routes.MapRoute("myRoute","AreaName", new {controller="ControllerName",
action="ActionName",id=UrlParameter.Optional});
}
如果在IIS版本>6.0上托管,如果您在IIS上托管站点,则可以使用URL Rewrite 2.0,并在IIS中为该站点定义路由规则。取决于您如何定义路由。如果方法的参数名为
id
,并且您使用默认路由,则第二种方法将起作用。如果参数名为parameterId
,那么您需要定义一个具有url:“{controller}/{action}/{parameterId}”的路由,
谢谢@StephenMuecke工作正常!!