0

私は2つの 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; }

     .....
 }

どちらも「名前」プロパティが共通しているため、次のエラーが発生しました。

"App.Name" の ID を持つコントロールは既に初期化されています。すべてのコントロールに一意の ID があることを確認してください。次のコントロールは、ページ上の少なくとも 1 つの他のコントロールと同じ ID を持っています。すべてのコントロールには一意の ID が必要です。コントロールの詳細 ID: 名前。ClientID: App.Name タイプ: TextField 親コントロールの詳細 ID: selectedGroup ClientID: App.selectedGroup タイプ: FormPanel

どうすればこれを修正できますか?

4

1 に答える 1

1

この問題の回避策は、フォーム フィールドのプレフィックスを手動で指定することです。

.Items
(
x.FormPanelFor(m => m.SelectedSection, htmlFieldName: "SelectedSection").ID("selectedSection"),
x.FormPanelFor(m => m.SelectedGroup, htmlFieldName: "SelectedGroup").ID("selectedGroup")
)
于 2013-03-12T08:32:05.553 に答える