use*_*063 1 c# url asp.net-mvc asp.net-mvc-routing
我有登录控制器和注册ActionResult
public ActionResult Register()
{
return View();
}
Run Code Online (Sandbox Code Playgroud)
如果我发布任何数据到注册actionresult网址如下所示,
WebSiteName/Login/Register
Run Code Online (Sandbox Code Playgroud)
我想将路由网址更改为WebSiteName/Login/Reg = Id?
所以我尝试下面,但我无法改变路线网址.
routes.MapRoute(
name: "something",
url: "Login/Reg=Id?",
defaults: new
{
controller = "Login",
action = "Register",
id = id = UrlParameter.Optional
}
);
Run Code Online (Sandbox Code Playgroud)
那么如何在asp.net mvc中更改url?
任何帮助将不胜感激.
谢谢.
您正在尝试使用不正确的url参数形式.你有的选择是:
网址部分参数:WebSiteName/Login/Reg/{id}
为此,您可以使用以下配置
routes.MapRoute(
name: "something",
url: "Login/Reg/{id}",
defaults: new
{
controller = "Login",
action = "Register",
id = UrlParameter.Optional
}
);
Run Code Online (Sandbox Code Playgroud)查询字符串参数:WebSiteName/Login/Reg?id = {id}
在这里,您根本不需要在config中指定参数:
routes.MapRoute(
name: "something",
url: "Login/Reg",
defaults: new
{
controller = "Login",
action = "Register"
}
);
Run Code Online (Sandbox Code Playgroud)当然,在这两种情况下,假设您的操作Register都有参数ID.