Asp.net mvc 带有2个参数的MVC Url.Action

Asp.net mvc 带有2个参数的MVC Url.Action,asp.net-mvc,model-view-controller,Asp.net Mvc,Model View Controller,在我的控制器中,我传递了两个参数,如下所示: 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 我喜欢

在我的控制器中,我传递了两个参数,如下所示:

    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
我喜欢它表现为:


如何修改UrlAction以这种方式显示

您可以在
Global.asax
中修改默认路由注册,以便
{id}
标记不是URL的一部分。删除它或其他东西。

您可以在
Global.asax
中修改您的默认路由注册,以便
{id}
标记不是URL的一部分。把它或什么东西拿走。

我相信达林是正确的

要获得所需的URL,只需保持URL生成代码相同即可

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)


我相信达林是正确的

要获得所需的URL,只需保持URL生成代码相同即可

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)


@Darvin Dimitrov-如何修改上面示例中的Url.Action,使其显示出来,因为这将为我提供绝对路径。感谢you@NatePet,您不能修改Url.Action。它是ASP.NETMVC框架的一部分。正如我在回答中所说的,修改您的路由,因为Url.Action方法就是用它来生成这些Url的。@Darvin Dimitrov-我如何修改上面示例中的Url.Action,使其显示出来,因为这将为我提供绝对路径。感谢you@NatePet,您不能修改Url.Action。它是ASP.NETMVC框架的一部分。正如我在回答中所说的,修改您的路由,因为Url.Action方法就是用它来生成这些Url的。