我有一个可编辑的GridView
并绑定到数据库。因此,GridView中每列的数据类型是数据库中的Int。因此我的GridView
只接受整数。
但是,如果用户在GridView
单元格中输入除数字以外的任何其他字符,我想向用户发出通知。
基本上我需要验证并提供错误信息。
有人可以帮我解决这个问题吗?
我已将Boundfields用于我的GridView
。
因此,假设我输入除数字以外的任何字符,它会给我一条异常消息: System.Data.SqlClient.SqlException:将nvarchar值'a'转换为数据类型int时转换失败。
答案 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 强>