Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过带参数的JavaScript重定向到操作控制器(ASP.NET MVC)_Javascript_C#_Asp.net Mvc_Asp.net Mvc 4_Knockout.js - Fatal编程技术网

通过带参数的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工作正常!!