如何在MVC4中使用查询字符串参数重定向URL

时间:2018-08-03 05:27:44

标签: c# asp.net-mvc-4

我试图在show中请求带有查询参数的查询字符串以重定向到URL,例如跟随URL,但是如何返回write然后执行该操作 RegNo是我的字符串变量,如abc,请建议我...

Url := /User/Index?abc

[HttpPost]
public ActionResult Putabc()
{
   return Json(new { url = Url.Action("Index","User"+"RegNo") });
}

3 个答案:

答案 0 :(得分:1)

 return Json(new { url = Url.Action("Index", "User", new { variableName= "abc" }) });

答案 1 :(得分:1)

如果您只想将一个参数传递给url:

 public ActionResult Putabc()
 {
     return Json(new { url = Url.Action("Index", "User", new { RegNo = "abc" }) }, JsonRequestBehavior.AllowGet);
 }

结果:

enter image description here

如果您要将多个参数传递给url

public ActionResult Putabc()
{
    return Json(new { url = Url.Action("Index", "User", new { RegNo = "abc", RegName = "pqr" }) }, JsonRequestBehavior.AllowGet);
}

结果:

enter image description here

在网址操作中:

第一个参数是您的actionName

第二个参数是您的controllerName

第三个参数是您的routeValues,表示您可以在该参数后附加一个或多个路由值。

编辑:

如果要在路由(/User/Index/RegNo)中而不是查询字符串(/User/Index?RegNo="abc")中发送参数

如果您只想在路由中发送一个参数

然后,您需要像{p>在RouteConfig.cs中定义一条路线

routes.MapRoute(
           "myRouteName",
           "User/Index/{RegNo}",
           new { controller = "User", action = "Index", RegNo = UrlParameter.Optional }
        );

您的操作方法将是

public ActionResult Putabc()
{
    return Json(new { url = Url.RouteUrl("myRouteName", new { RegNo = "abc" }) }, JsonRequestBehavior.AllowGet);
}

结果:

enter image description here

如果要在路由中发送多个参数

然后,您需要像{p>在RouteConfig.cs中定义一条路线

routes.MapRoute(
            "myRouteName",
            "User/Index/{RegNo}/AnyNameHere/{RegName}",
            new { controller = "User", action = "Index", RegNo = UrlParameter.Optional, RegName = UrlParameter.Optional }
        );

您的操作方法将是

public ActionResult Putabc()
{
    return Json(new { url = Url.RouteUrl("myRouteName", new { RegNo = "abc", RegName = "pqr" }) }, JsonRequestBehavior.AllowGet);
}

结果:

enter image description here

在两条路线User/Index/{RegNo}User/Index/{RegNo}/AnyNameHere/{RegName}上,您都可以根据需要进行修改。

在Url.RouteUrl中:

第一个参数是您的routeName中的myRouteName中的RouteConfig.cs

第二个参数是您的routeValues,表示您可以在该参数后附加一个或多个路由值。

答案 2 :(得分:0)

@ Html.Raw(Url.Content(“〜/ AspNetWebForms / ViewPDF.aspx?id =” + docID.ToString()+“&small = True”))