我在ASP.NET页面的更新面板中有一些验证控件:
<asp:UpdatePanel ID="UP1" runat="server">
<Triggers>
</Triggers>
<ContentTemplate>
<script type="text/javascript">
function ValidatorUpdateDisplay(val) {
if (typeof (val.display) == "string") {
if (val.display == "None") {
return;
}
if (val.display == "Dynamic") {
val.style.display = val.isvalid ? "none" : "inline";
return;
}
}
val.style.visibility = val.isvalid ? "hidden" : "visible";
if (val.isvalid) {
document.getElementById(val.controltovalidate).style.border = '1px solid #808080';
}
else {
document.getElementById(val.controltovalidate).style.border = '1px solid red';
}
}
</script>
<asp:Label ID="Label1" runat="server" AssociatedControlID="txtName" CssClass="label" Text="Your Name: (required)" /><asp:TextBox ID="txtName" CssClass="singlelineTxt" CausesValidation="true" ValidationGroup="ContactForm" runat="server" /><br />
<asp:Label ID="Label2" runat="server" AssociatedControlID="txtCompany" CssClass="label" Text="Company: (optional)" /><asp:TextBox ID="txtCompany" CssClass="singlelineTxt" runat="server" /><br/>
<asp:Label ID="Label3" runat="server" AssociatedControlID="txtEmail" CssClass="label" Text="Your Email: (required)" /><asp:TextBox ID="txtEmail" CssClass="singlelineTxt" CausesValidation="true" ValidationGroup="ContactForm" runat="server" /><br />
<asp:Label ID="Label4" runat="server" AssociatedControlID="txtSubject" CssClass="label" Text="Subject: (required)" /><asp:TextBox ID="txtSubject" CssClass="singlelineTxt" CausesValidation="true" ValidationGroup="ContactForm" runat="server"/><br />
<div id="TextArea"><asp:Label ID="Label5" runat="server" AssociatedControlID="txtMessage" CssClass="label" Text="Message: (required)" /><asp:TextBox ID="txtMessage" CssClass="multilineTxt" CausesValidation="true" ValidationGroup="ContactForm" TextMode="MultiLine" Wrap="true" runat="server" /></div><br />
<div id="cbCaptcha" style="display: none;"><!-- for callback recaptcha reload --></div>
<cc1:Recaptcha ID="Recaptcha1" CssClass="captcha" Theme="Clean" runat="server" />
<asp:Button ID="btnSubmit" CausesValidation="true" ValidationGroup="ContactForm" CssClass="button" runat="server" text="Submit" OnClick="btnSubmit_Click"/><br /><br />
<asp:ValidationSummary ID="ValSum1" CssClass="error" ForeColor="" DisplayMode="SingleParagraph" runat="server" />
<asp:Label ID="lblMessage" runat="server" CssClass="messageSuccess" Visible="false" Text="SUCCESS" />
<asp:RequiredFieldValidator ID="reqName" ErrorMessage="Name is required." ControlToValidate="txtName" runat="server" ValidationGroup="ContactForm" />
<asp:RequiredFieldValidator ID="reqEmail" ErrorMessage="Email is required." ControlToValidate="txtEmail" runat="server" ValidationGroup="ContactForm" />
<asp:RequiredFieldValidator ID="reqSubj" ErrorMessage="Subject is required." ControlToValidate="txtSubject" runat="server" ValidationGroup="ContactForm" />
<asp:RequiredFieldValidator ID="reqMsg" ErrorMessage="Message is required." ControlToValidate="txtMessage" runat="server" ValidationGroup="ContactForm" />
</ContentTemplate>
</asp:UpdatePanel>
我有一些非常简单的CSS(尝试)来设计它:
.error{
border: 2px solid red;
color: #f00;
}
然而,无论我试图做什么,我都无法获得此验证摘要以反映任何类型的样式。我一直在研究围绕AJAX以及更新面板如何工作几个小时,现在希望能找到一些暗示问题根源的东西,重新审视和修改并修改其他样式表......没什么可做的。
有没有人知道什么会阻止带有CssClass属性的ASP.NET控件使用指定的CssClass进行渲染?
答案 0 :(得分:0)
我想其他一些事情就是停止你的CSS
风格。因为它在我的最后工作正常。
我发现的还有,在您的更新面板中。 Script Manager
遗失了。请添加如下
<asp:ScriptManager ID="sc1" runat="server"></asp:ScriptManager>
拥有look
答案 1 :(得分:0)
在使用asp-validation-summary元素时,我认为生成的HTML不包含在其class语句中指定的任何其他类。通过在CSS样式表中添加一个条目来解决此问题:
.validation-summary-errors ul li {
color: red !
}