1

假设我在 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>

这可能吗?我不知道是否有一种方法可以编写代码,只有在这个特定的验证器控件验证失败或其他情况下才会触发。我知道我可以编写在整个页面无效时运行的代码。但我只想在此验证器返回无效时运行此代码。希望这是有道理的。

科里

4

3 回答 3

0

好的,我认为这可能会有所帮助,即使我不确定执行此操作的确切方法

<div class=<%Response.Write(validateTextBox())%>>

该函数将位于服务器上,您将调用该函数来根据文本框更改类的名称

于 2011-03-16T19:51:20.587 回答
0

实际上我在另一个 StackOverflow 问题中找到了答案。你可以在这里看到: 如何在周围的 DIV 上添加一个额外的 CSS 类以防止表单验证失败?.

于 2011-03-16T19:53:01.163 回答
0

不使用 Postback 的另一种方法是覆盖默认的 asp.net 验证脚本。我在这里发布了一个例子:https ://stackoverflow.com/a/9857696/618044

于 2012-03-25T03:48:10.090 回答