瓷砖可能不适合我的问题
我有一个模特:
public class MpgViewModel
{
public DSModel DSht { get; set; }
public List<CMModel> CMps{ get; set; }
}
CMModel是:
public class CMModel
{
public int Id { get; set; }
public int DShtId { get; set; }
public int SCI { get; set; }
public string SCT { get; set; }
public string TCT { get; set; }
public bool Active { get; set; }
public DateTimeOffset LastUpdatedOn { get; set; }
public string LastUpdatedBy { get; set; }
}
现在我有一个Form,它接受DSModel的输入,然后,我希望以相同的形式获得CMModel列表的输入。可以存在将由用户确定的任意数量的CMModel对象。我想让用户在列表中添加更多对象,只需单击“添加更多”按钮。
我已经为CMModel输入创建了一个部分,我想在用户单击“添加更多”按钮时附加到主窗体。
@model CMModel
<div class="cmEntry">
<fieldset class="form-group">
<label for="sci">sci: </label>
<input type="number" asp-for="sci" class="form-control" id="sci" />
</fieldset>
<fieldset class="form-group">
<label for="sct">sct: </label>
<input type="text" asp-for="sct" class="form-control" id="sct" />
</fieldset>
<fieldset class="form-group">
<label for="tct">tct: </label>
<input type="text" asp-for="tct" class="form-control" id="tct" />
</fieldset>
<fieldset class="form-group">
<label for="active">Active: </label>
<select asp-for="Active" class="form-control" id="active">
<option value="1">Yes</option>
<option value="0">No</option>
</select>
</fieldset>
<fieldset class="form-group">
<label for="lastUpdatedOn">Last Updated On:</label>
<input type="date" asp-for="LastUpdatedOn" class="form-control" id="lastUpdatedOn" />
</fieldset>
</div>
实现此功能的最佳方式是什么。我应该在jquery中创建这个部分,如$(#myDiv).append(&#34; .....&#34;);或者我应该向控制器发送ajax请求以在每次单击按钮时返回部分并将结果附加到他的表单。 ASP.net能否在提交表单时正确绑定它?
修改
BeginCollectionItem可以实现我正在寻找的东西,但它似乎不适用于asp.net核心。当我使用
时,我的部分视图中出现错误 @using (Html.BeginCollectionItem("Entries"))
{
}
Type HtmlHelper在未引用的程序集中定义。您必须添加对程序集的引用,System.Web.Mvc,Version = 2.0.0.0&#39;