De la “Id” de la valeur de l'URL dans MVC 4

Mon URL est quelque chose comme,

localhost:19876/PatientVisitDetail/Create?PatientId=1

Je dois récupérer le PatientId à partir de l'URL et de le passer à la demande.

J'ai essayé,

    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'

De nouveau, j'ai essayé,

RouteData.Values["PatientId"]  => an object reference is required for the non static field, method
or property 'System.Web.Routing.RouteData.Values.get'

EDIT:

Basé sur le Jason de commentaire ci-dessous, j'ai essayé Request["SomeParameter"] et cela a fonctionné. Mais, il est aussi un avertissement à l'éviter.

Toutes les idées comment l'éviter pour mon scénario ?

Mon scénario:

Il y a un Create méthode d'action dans mon contrôleur pour la création d'un nouveau patient.

Mais, j'ai besoin de revenir à la dernière page,

Si je donne quelque chose comme,

 @Html.ActionLink("Back to List", "Index") 


=> this wont work because my controller action method has the following signature,

public ActionResult Index(int patientId = 0)

Donc, je doit passer le long de la patientId dans ce cas.

  • Depuis PatientId est un paramètre querystring, jetez un oeil à ceci : stackoverflow.com/questions/2888105/...
  • Merci pour le lien. Il a travaillé. Mais, je vois aussi un avertissement, que do not access the url parameters in the view?. Dans mon scénario, comment faire pour éviter cela ?