r3t*_*try 4 asp.net validation
我有一个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>
Run Code Online (Sandbox Code Playgroud)
但是当我执行它时,我得到:"输入参数'controlId'不能是空字符串." 当我删除验证器时,error-msg也会消失.
在网上搜索这个问题后,我认为问题是在formview中找不到控件,所以我把clientidmode ="static"放在那里 - >但这并没有解决我的问题.关于如何解决这个问题,您有什么其他建议吗?
你没有为CompareValidator Control分配id have to assign ID to asp:CompareValidator
更改
<asp:CompareValidator runat="server" Operator="DataTypeCheck"
Type="Integer" ValidationGroup="EditValidation" Display="Dynamic"
ControlToValidate="EinkaufsauftragsNr" ErrorMessage="Nur Ganzzahlen erlaubt."
CssClass="validator" />
Run Code Online (Sandbox Code Playgroud)
至
<asp:CompareValidator ID="SomeID" runat="server" Operator="DataTypeCheck"
Type="Integer" ValidationGroup="EditValidation" Display="Dynamic"
ControlToValidate="EinkaufsauftragsNr" ErrorMessage="Nur Ganzzahlen erlaubt."
CssClass="validator" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2469 次 |
| 最近记录: |