我希望在点击一个 ActionLink
后,能够将一个模型和一个 int
传递给控制器。
@Html.ActionLink("Next", "Lookup", "User", new { m = Model.UserLookupViewModel, page = Model.UserLookupViewModel.curPage }, null)
不起作用,相反地它会传递模型的空实例,这是使用 new
时预期的结果。
@Html.ActionLink("Next", "Lookup", "User", Model.UserLookupViewModel, null)
有效。
控制器
[HttpGet]
public ActionResult Lookup(UserLookupViewModel m, int page = 0)
{
return this.DoLookup(m, page);
}
视图模型
public class UserLookupViewModel
{
public int curPage { get; set; }
[Display(Name = "Forenames")]
public string Forenames { get; set; }
[Display(Name = "Surname")]
public string Surname { get; set; }
[Display(Name = "DOB")]
public DateTime? DoB { get; set; }
[Display(Name = "Post code")]
public string Postcode { get; set; }
}
我该如何同时传递它们呢?Lookup
方法的参数与ActionLink中命名的属性匹配。