Ich habe zwei Aktionsmethode in der folgenden controller-senden Abfrage-Zeichenfolge in 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" });
}
{
Nach Redirect, Request.QueryString["id"]
gibt null zurück.
Meine Standardroute Config is-
context.MapRoute(
"BR_default",
"BR/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
new[] { "OpinionLeader.Areas.BR.Controllers" } //add this line
);
Jede Hilfe?
Sind Sie die Standardrouten mit mit '.../{id}'? Und warum nicht einfach 'public ActionResult StartBrVisit (int id)'? –
@StephenMuecke - Ja, es gibt eine Standardroute mit Namens-ID. Ich habe meine Frage aktualisiert. Ich muss hier Zeichenfolge verwenden. –
Dann machen Sie einfach die Methode 'public ActionResult StartBrVisit (string id)' (und Sie könnten auch 'string name' hinzufügen). Der Wert "id" wird als Routenwert und nicht als Abfragezeichenfolgewert hinzugefügt, sodass Sie auch 'Request.RequestContext.RouteData.Values [" id "]' –