如果用户在GridView中输入除数字之外的任何字符,如何向用户发出通知

时间:2012-09-03 07:38:39

标签: c# asp.net gridview

我有一个可编辑的GridView并绑定到数据库。因此,GridView中每列的数据类型是数据库中的Int。因此我的GridView只接受整数。

但是,如果用户在GridView单元格中输入除数字以外的任何其他字符,我想向用户发出通知。

基本上我需要验证并提供错误信息。

有人可以帮我解决这个问题吗?

我已将Boundfields用于我的GridView

因此,假设我输入除数字以外的任何字符,它会给我一条异常消息: System.Data.SqlClient.SqlException:将nvarchar值'a'转换为数据类型int时转换失败。

1 个答案:

答案 0 :(得分:1)

最好的办法是将BoundField转换为TemplateField并将验证控件添加到EditItemTemplate

<asp:TemplateField HeaderText="Application" SortExpression="APPName">
    <EditItemTemplate>
        <asp:TextBox ID="txtApp" runat="server" Text='<%# Bind("APPName") %>'/>
        <asp:RequiredFieldValidator runat='server' ID='requiredApp' 
            ErrorMessage='Application Name Cannot Be Empty' ControlToValidate='txtApp' /> 
    </EditItemTemplate>
    <ItemTemplate>
        <asp:Label ID="labelApp" runat="server" Text='<%# Bind("APPName") %>'/>
    </ItemTemplate>
</asp:TemplateField>

<强> SOURCE