【发布时间】:2020-07-25 06:25:18
【问题描述】:
我当前的视图模型:
public class CustomerVM
{
public string fname;
public virtual IList<DocumentVM>? Documents { get; set; } = null!;
}
public class DocumentVM
{
public string UniqueNo;
...some code ommitted
}
以下是Chtml设计。一个客户可以填写二维文件。
...some code ommited
<div class="form-group col-md-3">
<label asp-for="customer.FirstName" class="col-form-label"></label>
<input asp-for="customer.FirstName" class="form-control" />
<span asp-validation-for="customer.FirstName" type="text" class="text-danger"></span>
</div>
<div class="form-group col-md-4">
<label asp-for="customer.Documents[0].DocTypeId" class="col-form-label">Document Type</label>
<select asp-for="customer.Documents[0].DocTypeId" asp-items="@Model.customer.DocumentTypeList" class="form-control">
<option>Choose</option>
</select>
</div>
<div class="form-group col-md-3">
<label asp-for="customer.Documents[0].UniqueNo" class="col-form-label"></label>
<input asp-for="customer.Documents[0].UniqueNo" type="text" class="form-control" />
<span asp-validation-for="customer.Documents[0].UniqueNo" class="text-danger"></span>
</div>
<div class="form-group col-md-4">
<label asp-for="customer.Documents[1].DocTypeId" class="col-form-label">Document Type</label>
<select asp-for="customer.Documents[1].DocTypeId" asp-items="@Model.customer.DocumentTypeList" class="form-control">
<option>Choose</option>
</select>
</div>
<div class="form-group col-md-3">
<label asp-for="customer.Documents[1].UniqueNo" class="col-form-label"></label>
<input asp-for="customer.Documents[1].UniqueNo" type="text" class="form-control" />
<span asp-validation-for="customer.Documents[1].UniqueNo" class="text-danger"></span>
</div>
此代码完美运行。但我需要更改我的视图模型 Customer
public virtual IList<DocumentVM>? Documents { get; set; } = null!;
到
public virtual ICollection<DocumentVM>? Documents { get; set; } = null!;
我无法从 Razor 视图直接访问索引。是否可以在 ASP.NET Core 3.1 中将我的视图设计更改 IList 更改为 ICollection 对象?
提前致谢
【问题讨论】:
-
合并集合是什么意思?
-
您是如何在 Razor 视图中引用此文档集合的。您可以使用 IEnumerable 代替 ICollection,Razor 视图也将使用相同的方法。
-
问题已更新..我需要将 2 个文档添加到 icollection 对象并提交表单..正在访问 Documents[1] 和 document [2] 索引硬编码..是否可以动态地做
-
这实际上是带有 2 个文档(即文档列表)的客户视图,最后提交表单..
标签: c# asp.net-core model-view-controller