Я два метода действия в следующем контроллер-Отправить Строка запроса в 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" });
}
{
После Redirect, Request.QueryString["id"]
возвращает нулевое значение.
Мой маршрут по умолчанию конфигурации 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"] ' –