Bha*_*dav 5 asp.net asp.net-mvc asp.net-core-mvc 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>
Run Code Online (Sandbox Code Playgroud)
name输入中的所有属性均为AdvanceSearchModel。asp-for当将多个模型传递到包含一个或多个表单的视图时,如何使用标记帮助器?在上述情况下提交表单后,如何保留表单的值?
name您可以看到它根据 html-tag: 中的 (lambda) 表达式创建属性asp-for。
你需要一个name像这样的表单标签SearchUserModel[0].Location
在哪里:
SearchUserModel是模型上的属性名称,位于您发布到的控制器方法中[0]是列表中的索引LocationSearchUserModel是实例列表中iten的属性SearchUserModel+ 前缀的部分视图(例如,代表列表中哪一行的 int usermodel[1]:)@model SearchUserModel
<input asp-for="Location" my-prefix="ListItem[@Model.Id]" class="form-control" />
Run Code Online (Sandbox Code Playgroud)
SearchUserModel表单部分的外观的 HTML 模板。我为什么这么说呢?如果控制器中出现奇怪的数据绑定,调试起来会更容易。
也就是说,选项 1 非常好,但以后可能会导致问题,因为它是非常静态的模板,您将无法轻松添加或删除行。
| 归档时间: |
|
| 查看次数: |
2749 次 |
| 最近记录: |