我有以下情况:
@Html.EditorFor(m => m.Name)
@Html.EditorFor(m => m.Description)
@(Html.Telerik().Grid<ProductModel.ProductDataSampleModel>()
.Name("productdatasample-grid")
.DataKeys(keys => keys.Add(x => x.Id))
.DataBinding(dataBinding => dataBinding.Ajax()
.Select("ProductDataSampleList", "Product", new { productId = Model.Id })
.Insert("ProductDataSampleInsert", "Product", new { productId = Model.Id })
.Update("ProductDataSampleUpdate", "Product", new { productId = Model.Id })
.Delete("ProductDataSampleDelete", "Product")
)
.Columns(columns =>
{
columns.Bound(x => x.Name);
columns.Bound(x => x.Description);
columns.Command(commands => { commands.Edit(); commands.Delete(); });
})
.ToolBar(commands => commands.Insert())
.EnableCustomBinding(true))
)
如您所见,表单上有两个编辑字段Name
和Description
,还有两个在网格中具有相同名称的编辑字段。表单上的字段分别创建一个输入元素:
<input type="text" name="Name" id="Name" />
<input type="text" name="Description" id="Description" />
当我在网格中插入或编辑一行时,会创建另外两个具有相同名称和ID 的文本框。名称不会成为问题,但在页面上有两个具有相同ID的元素会产生各种混淆。
解决这种困境的正确方法是什么?