加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 在formview中使用验证器时,输入参数’controlId’不

发布时间:2020-12-16 07:18:49 所属栏目:asp.Net 来源:网络整理
导读:我有一个FormView,我有几个字段.这些字段应该由asp.net验证器验证,如下所示: asp:FormView ID="OrderDetails" runat="server" DataKeyNames="ID" DataSourceID="DS_Order" DefaultMode="Edit" AutoGenerateRows="false" ClientIDMode="Static" RenderOuterT
我有一个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’不能是空字符串.”
当我删除验证器时,error-msg也会消失.

在网上搜索这个问题后,我认为问题是在formview中找不到控件,所以我把clientidmode =“static”放在那里 – >但这并没有解决我的问题.
关于如何解决这个问题,您有什么其他建议吗?

解决方法

您没有为CompareValidator Control分配id,您必须为asp:CompareValidator分配ID

更改

<asp:CompareValidator runat="server" Operator="DataTypeCheck"
    Type="Integer" ValidationGroup="EditValidation" Display="Dynamic"
    ControlToValidate="EinkaufsauftragsNr" ErrorMessage="Nur Ganzzahlen erlaubt."
    CssClass="validator" />

<asp:CompareValidator ID="SomeID" runat="server" Operator="DataTypeCheck"
    Type="Integer" ValidationGroup="EditValidation" Display="Dynamic"
    ControlToValidate="EinkaufsauftragsNr" ErrorMessage="Nur Ganzzahlen erlaubt."
    CssClass="validator" />

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读