2
我有两项行动的方法在下列控权发送查询字符串RedirectToAction MVC
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。
我的默认路由配置IS-
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”]' –