次のような状況があります。
@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))
)
ご覧のとおり、フォームには2 つの編集フィールドがName
ありDescription
、グリッドにも同じ名前の 2 つの編集フィールドがあります。フォームの各フィールドは、次のような入力要素を作成します。
<input type="text" name="Name" id="Name" />
<input type="text" name="Description" id="Description" />
グリッドで行を挿入または編集すると、同じ名前と ID を持つ別の 2 つのテキスト ボックスが作成されます。名前は問題になりませんが、ページに同じ ID を持つ 2 つの要素があると、あらゆる種類の混乱が生じます。
このジレンマを解決する適切な方法は何ですか?