【发布时间】:2023-03-26 21:22:01
【问题描述】:
我的EditorFor 有问题。我有以下型号
public class AddNewItemViewModel : BaseViewModel
{
...
public List<ItemDetailViewModel> ItemDetails { get; set; }
public ItemDetailViewModel ItemDetailTemplate { get; set; }
}
public class ItemDetailViewModel
{
//Item details
[Required(ErrorMessageResourceName = "BarCodeValidator", ErrorMessageResourceType = typeof(AddNewItem))]
[StringLength(50, ErrorMessageResourceName = "BarCodeLenghtValidator", ErrorMessageResourceType = typeof(AddNewItem))]
public string BarCode { get; set; }
...
}
项目详细信息映射到EditorFor,这工作正常我的问题是我想通过jquery向视图添加一个新的ItemDetails。所以我用Jquery Template
<script id="distanceSuggestionTemplate" type="text/x-jquery-tmpl">
@Html.EditorFor(m => Model.ItemDetailTemplate)
</script>
和运行这个的 Jquery 代码
$("#addNewItemDetail").click(function () {
$('#distanceSuggestionTemplate').tmpl({ Index: 1 }).appendTo('#itemTemplate');
});
这里的问题是我无法将新添加的 html 映射到List<ItemDetailViewModel> ItemDetails,因此我可以在发布到控制器时使用现有的新项目。有关如何解决该问题的任何建议?
【问题讨论】:
标签: c# asp.net-mvc-3 razor jquery-templates editorfor