我的动作中有这样的链接
<%: Html.ActionLink("View Data","Index","MyItem", new {itemId=Model.itemId}, null)%>
现在在我的newItem控制器中它的索引动作如何检索这个itemId,到目前为止我已经尝试过了 此
public ActionResult Index()
{
RouteData rd = this.RouteData;
var list = from p in rd.DataTokens.Where(p => p.Key == "itemId") select p;
int? id = null;
if (list.Count() > 0)
id = Convert.ToInt32(list.Single().Value);
if (id.HasValue)
{
return View(from a in _Service.List().Where(a => a.ApplicantId == id.Value) select a);
}
else
return View(NORECORDVIEW,);
}
还有这个
HttpRequestBase rd = this.Request;
var list = from p in rd.QueryString.AllKeys.Where(p => p. == "itemId") select p;
int? id = null;
if (list.Count() > 0)
id = Convert.ToInt32(list.Single().Value);
if (id.HasValue)
{
return View(from a in Service.List().Where(a => a.ApplicantId == id.Value) select a);
}
else
return View(NORECORDVIEW);
然而,这些都没有返回正确的值。
在mvc1中,我们可以直接处理,但你如何在mvc2中这样做呢。
答案 0 :(得分:1)
您可以更轻松地执行更多:
public ActionResult Index(int itemId)
这不仅是代码的十分之一,而且更容易测试。