我在控制器中有以下两个参数:
url = Url.Action("ViewReq ", "ProgramT ", new System.Web.Routing.RouteValueDictionary(new { id = spid pgid = pid }), "http", Request.Url.Host);
当我查看它时,它显示为:
http://localhost/Masa/ProgramT/ViewReq/20036?pgid=00001
我喜欢它显示为:
http://localhost/Masa/ProgramT/ViewReq?id=20036&pgid=00001
如何修改UrlAction以这种方式显示?
答案 0 :(得分:3)
您可以在Global.asax
中修改默认路由注册,以便{id}
令牌不属于您的网址。删除它或其他东西。
答案 1 :(得分:2)
我相信达林是正确的。
要获取所需的网址,只需保持您的网址生成代码相同
Url.Action("ViewReq ", "ProgramT ", new System.Web.Routing.RouteValueDictionary(new { id = spid, pgid = pid }), "http", Request.Url.Host);
然后在Global.asax文件中,在默认路由下添加以下路由。
routes.MapRoute(
"YourNewRoute", // Route name
"ProgramT/ViewReq/{id}/{pgid}", // URL with parameters
new { controller = "ProgramT", action = "ViewReq", id = UrlParameter.Optional, pgid = UrlParameter.Optional } // Parameter defaults
);
然后,您应该将URL视为(假设id为20036,pgid为00001)
http://localhost/Masa/ProgramT/ViewReq/20036?pgid=00001