ASP.NET Core使用单一形式的两个模型
我正在使用Tuple在视图中传递两个模型,如下面给出的代码.
@model Tuple<AdvanceSearchModel,List<SearchUserModel>> <form role="search" method="post" action="/Public/AdvanceSearch"> <div class="form-group"> <label>Name</label> <input name="FullNames" type="text" class="form-control" value=""/> </div> <div class="form-group"> <label>Product</label> <input name="Products" type="text" class="form-control" value="" /> </div> <div class="form-group"> <label>Location:</label> <input name="Location" type="text" class="form-control" value="" /> </div> <div class="form-group"> <label>State</label> <input name="States" type="text" class="form-control" value="" /> </div> <div class="form-group"> <label>Country</label> <input name="Countries" type="text" class="form-control" value=""/> </div> </form> 输入中的所有名称属性都是AdvanceSearchModel.在将多个模型传递给包含一个或多个表单的视图时,如何使用asp-for等标记助手?在上述场景中提交表单后,如何保留表单的值? 解决方法
正如你在
source code of InputTagHelper中看到的那样
你可以看到它根据html-tag:asp-for中的(lambda)表达式创建了name属性. 你需要什么 您需要一个像此SearchUserModel [0] .Location这样的表单名称标记 哪里: > SearchUserModel是模型上的属性名称,它位于您发布到的控制器方法中 我的建议 不要做 >扩展InputTagHelper并添加前缀选项(为名称添加prefex). 结果 @model SearchUserModel <input asp-for="Location" my-prefix="ListItem[@Model.Id]" class="form-control" /> 更好的长期选择 >制作一个HTML模板,说明表单的SearchUserModel部分应该如何. 我为什么这么说?如果在控制器中获得奇怪的数据绑定,则更容易调试. 也就是说,选项1非常好,但是后来可能会导致问题,因为它是非常静态的模板,您无法轻松添加或删除行. 列表的正确html名称标签的引用: > http://www.hanselman.com/blog/ASPNETWireFormatForModelBindingToArraysListsCollectionsDictionaries.aspx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – ASP.NET MVC UpdateModel()方法如何工作?
- asp.net – 如何测试开发机器上的子域? abc.localhost
- asp.net – 在ObjectDataSource更新事件期间取消Gridview编
- entity-framework – 将DbContext注入FluentValidation验证
- WeihanLi.Npoi 1.7.0 更新
- asp.net – 在project.json中排除文件夹
- 如果ASP.NET破坏其ID,我如何从javascript访问DIV?
- 在ASP.NET,VS2008中“无法重新格式化文档”
- 在asp.net上单击按钮的空文本框的Javascript验证
- 在ASP.NET 5项目中运行NUnit测试(在VS Test Explorer中)
- ASP.Net 5 RC2配置部分绑定
- 如何从ASP.NET 2.0 Web应用程序中的客户端脚本调
- asp.net – 在会话中存储值是否安全?
- asp.net – 什么是Silverlight,以及哪些类型的开
- asp.net – 如何在ModalPopupExtender前显示Cale
- asp.net mvc 之旅 —— 第五站 从源码中分析asp
- asp.net-mvc-3 – Razor Func与MvcHtmlString混合
- asp.net-mvc – 使用LINQ进行动态查询将无法正常
- asp.net-mvc – 嵌套的EditorFor / DisplayFor覆
- asp.net – Linq to SQL Design的问题