我有两个FormPanelFor定义:
.Items
(
x.FormPanelFor(m => m.SelectedSection).ID("selectedSection"),
x.FormPanelFor(m => m.SelectedGroup).ID("selectedGroup")
)
和模型定义:
public class Model_Section
{
[Field(FieldLabel = "Section Name", AllowBlank = false)]
public string Name { get; set; }
.....
}
public class Model_Group
{
[Field(FieldLabel = "Group Name", AllowBlank = false)]
public string Name { get; set; }
.....
}
它们都有相同的"Name"属性,因此我得到了这个错误:
ID为"App.Name"的控件已经初始化。请确保所有控件都有唯一的id。以下控件具有与该页上至少一个其他控件相同的ID。所有控件必须具有唯一的ID。控制细节ID:名字。ClientID: App.Name类型:文本框家长控制详情ID: selectedGroupClientID: App.selectedGroup类型:FormPanel
如何解决这个问题?
解决这个问题的方法是手动为表单字段提供前缀:
.Items
(
x.FormPanelFor(m => m.SelectedSection, htmlFieldName: "SelectedSection").ID("selectedSection"),
x.FormPanelFor(m => m.SelectedGroup, htmlFieldName: "SelectedGroup").ID("selectedGroup")
)