【发布时间】:2016-08-25 10:23:48
【问题描述】:
我在下面的控制器中有两个动作方法-
public class VisitMasterController
{
public ActionResult StartBrVisit()
{
string id=(Request.QueryString["id"].ToString(); //value=null here
}
public ActionResult BrNotPresent()
{
return RedirectToAction("StartBrVisit","VisitMaster" , new { id = "id", name = "name" });
}
{
重定向后,Request.QueryString["id"] 返回 null。
我的默认路由配置是-
context.MapRoute(
"BR_default",
"BR/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
new[] { "OpinionLeader.Areas.BR.Controllers" } //add this line
);
有什么帮助吗?
【问题讨论】:
-
您是否使用
.../{id}的默认路由?为什么不直接使用public ActionResult StartBrVisit(int id)? -
@StephenMuecke - 是的,有一个名为 id 的默认路由。我已经更新了我的问题。我需要在这里使用字符串。
-
然后只需创建方法
public ActionResult StartBrVisit(string id)(您也可以添加string name)。您的id值被添加为路由值,而不是查询字符串值,因此您也可以使用Request.RequestContext.RouteData.Values["id"] -
明白了。请使用代码 sn-p 将其发布为答案(如果可能)。谢谢。
标签: asp.net-mvc redirecttoaction