我是 ASP.NET MVC 的新手,如果这比看起来容易,我深表歉意。我一直在谷歌搜索,我有这样的课程:
public class Search : IAuditable
{
[Key]
public int SearchID { get; set; }
public int UserID { get; set; }
...
public ICollection<SearchTerm> SearchTerms { get; set; }
}
在Create.cshtml中,我有以下内容
<div class="editor-label">
@Html.LabelFor(model => model.Search.SearchTerms)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Search.SearchTerms, "SearchTerm")
@Html.ValidationMessageFor(model => model.Search.SearchTerms)
</div>
SearchTerm EditorTemplate是一个简单的形式,如下所示:
@model Core.Search.Parameters.SearchTerm
@Html.HiddenFor(n => n.SearchTermID)
<div class="editor-label">
@Html.LabelFor(n => n.Text, "Term")
</div>
<div class="editor-field">
@Html.EditorFor(n => n.Text)
@Html.ValidationMessageFor(n => n.Text)
</div>
它似乎有效,我在创建时看到一个文本框(当默认模型为空时)。但是,我想要做的是能够SearchTerms
使用Add 按钮添加/删除,以便用户可以在 create 上向集合中添加任意数量的术语。这是以某种方式内置的吗?是否有一个与之匹配的javascript框架,它将生成适当的html名称,所以我不必手动执行此操作?考虑到我是 MVC 的新手,我是否以正确的方式接近这一点?
谢谢!