假设我在ASP.NET页面上有一个文本框的HTML:
<div class="myClass">
<asp:TextBox ID="txtMyTextBox" runat="server"></asp:TextBox>
</div>
这样就可以很容易地向这个页面添加一个必需的字段验证器。
<asp:RequiredFieldValidator ID="valMyTextBox" runat="server" ControlToValidate="txtMyTextBox" ErrorMessage="My Text Box is required."></asp:RequiredFieldValidator>
但如果此文本框验证失败,我需要稍微修改HTML。我需要在DIV中添加一个CSS类。因此,如果用户将此字段留空,我需要HTML如下所示:
<div class="myClass error">
<asp:TextBox ID="txtMyTextBox" runat="server"></asp:TextBox>
</div>
这可能吗?我无法弄清楚是否有一种方法来编写代码,只有当这个特定的验证器控件未通过验证或其他东西时才触发。我知道我可以编写在整个页面无效时运行的代码。但我只想在此验证器返回无效时运行此代码。希望这是有道理的。
科里
答案 0 :(得分:0)
好的,我认为这可能会有所帮助,即使我不确定如何做到这一点的确切方法
<div class=<%Response.Write(validateTextBox())%>>
将在服务器上调用的函数,根据文本框改变类的名称
答案 1 :(得分:0)
实际上我在另一个StackOverflow问题中找到了答案。你可以在这里看到它:How do I add an additional CSS class on a surrounding DIV for failed form validation?。
答案 2 :(得分:0)
没有Postback的另一种方法是覆盖默认的asp.net验证脚本。我在这里发布了一个示例:https://stackoverflow.com/a/9857696/618044