![](/img/trans.png)
[英]how to change multiple asp.net textbox or labels or tags in different style with CSS or CSSClass or in C#?
[英]Change CssClass of a textbox if validation failed in asp.net using validators
如果在asp.net中的驗證失敗,我想將CssClass更改為txtbox300CommentRED。
我找不到方法可以做到這一點。 如果驗證失敗,是否可以告訴RequiredFieldValidator或其他Validators更改txtFullName的CssClass類?
<asp:TextBox ID="txtFullName" runat="server" CssClass="txtbox300Comment"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
我怎樣才能做到這一點,什么是無憂無慮的專業方式。
感謝幫助。
RequiredFieldValidator的ErrorMessage屬性可以包含各種HTML標記,因此您可以將Javascript放入其中。
ErrorMessage="Bad! <script type='text/javascript'>changeclass();</script>"
您可以從javascript訪問驗證器范圍,並更改它們正在驗證的控件的css類。 您可以在提交時運行此腳本。 但是,我不確定如何確定特定控件是否有效。
例如,如果您有一個CSS類“錯誤”,則可以執行以下操作:
if (Page_ClientValidate() == false)
{
if (Page_Validators != null)
{
for (i = 0; i < Page_Validators.length; i++)
{
var validatedControl =
document.getElementById(Page_Validators[i].controltovalidate);
validatedControl.className = "error";
}
}
}
請參見如何為所有ASP.Net驗證程序添加外觀? 欲獲得更多信息。
不幸的是,WebForms不適用於此。 我建議盡可能使用MVC,或者嘗試使用xVal for WebForms (基於DataAnnotations和jQuery Validate構建的開源驗證庫)。
ControlToValidate =“ txtFullName”在RequiredFieldValidator上設置
if(!RequiredFieldValidator1.IsValid){
//You might have to adjust where its looking for the control
TextBox txt = form1.FindControl(RequiredFieldValidator1.ControlToValidate) as TextBox;
if (txt != null)
{
txt.CssClass = "txtbox300Comment";
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.