我的网址是这样的,localhost:19876/PatientVisitDetail/Create?PatientId=1
我必须从URL中检索PatientId
并将其传递给请求。
我试过了,
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'
我再次尝试,
RouteData.Values["PatientId"] => an object reference is required for the non static field, method
or property 'System.Web.Routing.RouteData.Values.get'
编辑:
根据以下Jason的评论,我尝试了
Request["SomeParameter"]
并成功了。但是,也有警告要避免这种情况。有什么想法如何避免这种情况吗?
我的情况:
我的控制器中有一个
Create
操作方法,用于创建新患者。但是,我需要返回上一页,
如果我给类似的东西,
@Html.ActionLink("Back to List", "Index")
=> this wont work because my controller action method has the following signature,
public ActionResult Index(int patientId = 0)
因此,在这种情况下,我必须通过
patientId
。 最佳答案
您实际上是在规避MVC的全部要点。采取接受PatientId
的措施,即
public ActionResult Create(int patientId)
{
return View(patientId);
}
然后在您看来使用该值,例如
@model int
@Html.ActionLink("Back", "LastAction", "LastController", new { patientId = @Model })
这是MVC方式。