Erste "Id" - Wert aus der URL in MVC 4
Meine URL ist so etwas wie,
localhost:19876/PatientVisitDetail/Create?PatientId=1
Habe ich zum abrufen der PatientId
aus der URL und übergeben Sie die Anforderung.
Habe ich versucht,
Url.RequestContext.Values["PatientId"] => System.Web.Routing.RequestContext does not contain a definition for 'Values' and
no extension method 'Values' accepting a first argument of type 'System.Web.Routing.RequestContext'
Wieder versuchte ich,
RouteData.Values["PatientId"] => an object reference is required for the non static field, method
or property 'System.Web.Routing.RouteData.Values.get'
EDIT:
Basierend auf Jasons Kommentar unten, ich versuchte Request["SomeParameter"]
- und es funktionierte. Aber, es ist auch eine Warnung zu vermeiden.
Irgendwelche Ideen, wie dies zu vermeiden für mein Szenario ?
Mein Szenario:
Es ist ein Create
action-Methode in meinem controller zum erstellen eines neuen Patienten.
Aber, ich muss gehen Sie zurück zu der letzten Seite,
Wenn ich etwas mag,
@Html.ActionLink("Back to List", "Index")
=> this wont work because my controller action method has the following signature,
public ActionResult Index(int patientId = 0)
So, ich muss weiter entlang der patientId
in diesem Fall.
- Da
PatientId
ist ein querystring-parameter, werfen Sie einen Blick auf diese : stackoverflow.com/questions/2888105/... - Danke für den link. Es arbeitete. Aber, ich sehe auch eine Warnung, dass
do not access the url parameters in the view?
. In meinem Szenario, wie man es vermeiden ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie effektiv Umgehung der ganze Sinn von MVC hier. Eine Aktion, die akzeptiert
PatientId
d.h.Dann in Ihrer Ansicht verwenden Sie diesen Wert z.B.
Dies ist das MVC-Weg.
Aus dem controller, Sie könnten die
PatientId
imViewBag
und diese von Ihrer AnsichtAnsicht