私はいくつかのフィールドを持つ FormView を持っています。これらのフィールドは、次のように asp.net バリデーターによって検証する必要があります。
<asp:FormView ID="OrderDetails" runat="server" DataKeyNames="ID" DataSourceID="DS_Order" DefaultMode="Edit" AutoGenerateRows="false" ClientIDMode="Static" RenderOuterTable="false">
<EditItemTemplate>
<asp:TextBox ID="EinkaufsauftragsNr" runat="server" ClientIDMode="Static" Text='<%# Bind("EinkaufsauftragsNr") %>'/>
<asp:CompareValidator runat="server" Operator="DataTypeCheck" Type="Integer" ValidationGroup="EditValidation" Display="Dynamic"
ControlToValidate="EinkaufsauftragsNr" ErrorMessage="Nur Ganzzahlen erlaubt." CssClass="validator" />
.....
</EditItemTemplate>
</FormView>
しかし、これを実行すると、「入力パラメーター 'controlId' を空の文字列にすることはできません」というメッセージが表示されます。バリデーターを削除すると、エラーメッセージも消えます。
ネットでこの問題を検索した後、フォームビュー内にコントロールが見つからないことが問題だと思ったので、そこに clientidmode="static" を配置しました->しかし、それで問題は解決しませんでした。これを解決する方法について他に何か提案はありますか?