我正在尝试验证网格视图中的asp文本框,但我的挑战是我的aspx页面中有3个项目模板,
ID
Question
Answer
我想在“答案”字段中进行一些验证,用户必须根据ID输入特定答案。如果ID = 1,那么他们只能输入1到99之间的年龄数。如果ID = 2,那么他们只能输入一些类型的高度值,如5.3,5.8等。这是我当前网格视图的样子
<asp:GridView ID="GV_Test" runat="server"
AutoGenerateColumns="False"
ShowFooter="True" DataKeyNames="ID">
<Columns>
<asp:TemplateField HeaderText="Question ID" Visible="true">
<ItemTemplate>
<asp:Label ID="lblQST_SK" runat="server" Text='<%# Eval("ID")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="150px" HeaderText="Questions">
<ItemTemplate>
<asp:Label ID="lblQuestions" runat="server" Text='<%# Eval("Question")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Answer">
<ItemTemplate>
<asp:TextBox ID="txtAn" runat="server" CssClass="form-control" Text='<%# Eval("Answer")%>' ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我该如何解决这个问题?感谢
答案 0 :(得分:0)
您可以将onkeypress添加到您的itemtemplate中,如下所示:
<asp:TextBox ID="txtAn" runat="server" CssClass="form-control" Text='<%# Eval("Answer")%>' onkeypress='<%#"DecideHowToValidateThisID("+ Eval("Id") +");"%>' ></asp:TextBox>
编写一个javascript函数"DecideHowToValidateThisID(id)"
,根据您获得的ID作为输入,您可以决定如何验证该文本框。
如果您拥有一小组预定义ID以及如何验证
,则此方法有效最好的方法是为你的网格设置一个itemdatabound事件 - 找出要完成的验证并将其添加到你的行