ASP.NET MVC通过ActionLink传递模型
发布时间:2020-05-25 06:06:17 所属栏目:asp.Net 来源:互联网
导读:单击ActionLink后,我想传递一个模型和一个int到一个控制器. @Html.ActionLink(Next, Lookup, User, new { m = Model.UserLookupViewModel, page = Model.UserLookupViewModel.curPage }, null) 它不起作用,而是通过模型的空白实例,当使用新的时候,它将会预期.
|
单击ActionLink后,我想传递一个模型和一个int到一个控制器. @Html.ActionLink("Next","Lookup","User",new { m = Model.UserLookupViewModel,page = Model.UserLookupViewModel.curPage },null)
它不起作用,而是通过模型的空白实例,当使用新的时候,它将会预期. @Html.ActionLink("Next",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中的命名属性相匹配. 解决方法您不能使用ActionLink通过链接传递属性,但您可以执行以下操作来获得相同的行为.<form action="/url/to/action" Method="GET"> <input type="hidden" name="Property" value="hello,world" /> <button type="submit">Go To User</button> </form> 如果您创建一个帮助程序来生成这些GET表单,那么您将能够像普通的链接按钮那样进行样式化.我唯一要提醒的是,页面上的所有表单都易于修改,因此我不会相信数据.当你到达你要去的地方时,我宁愿再次拉出数据. 创建搜索操作时,我使用上面的技术,并希望保留搜索记录并保持后退按钮的工作. 希望这可以帮助, 哈立德:) 附: 原因是这样的. @Html.ActionLink("Next",null)
是因为ActionLink方法的参数列表被概括为一个对象,所以它将需要任何东西.它将对该对象执行的操作是将其传递给RouteValueDictionary,然后根据该对象的属性尝试创建一个querystring. 如果你说这个方法在上面工作,你也可以尝试添加一个名为Id的viewmodel的新属性,它将像你想要的那样工作. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 在ASP.NET MVC中使用MySQL的AccountController
- asp.net-mvc – ASP.Net MVC和WebAPI加密
- asp.net – 添加新行到datatable的顶部
- asp.net是否可以防止SQL注入攻击
- asp.net-core – 如何在asp.net 5类库nuget包中包
- asp.net – 无法加载文件或程序集“Oracle.DataA
- asp.net中Session缓存与Cache缓存的区别分析
- asp.net-mvc – 如何在视图中的脚本部分中包含脚
- asp.net-mvc – 如何使用ASP.NET MVC 2验证两个属
- asp.net-core – ASP.NET 5中RegisterObject / Q
热点阅读
