我如何把标签变成asp红色

本文关键字:asp 红色 标签 | 更新日期: 2023-09-27 18:05:12

你好,我想把标签红色的。aspx当用户输入错误的答案到文本框

但不知道怎么做,我怎么能做到这一点?

我如何把标签变成asp红色

您可以使用javascript(从文本框的onchange调用此代码):

<label for="myTextBox" id="myLabel">For my textbox</label>
<input id="myTextBox" onchange="ValidateAnswer();">
function ValidateAnswer() {
    var txtBox = document.getElementById('myTextBox');
    if(txtBox.value != "answerswer") {
       document.getElementById('myLabel').style.color = 'red';
    }
}

如果你正在使用ASP,你也可以使用Validator控件。净:

<asp:CustomValidator runat="server" ID="cvAnswer"
    ControlToValidate="myTextBox"
    ErrorMessage="required"
    ClientValidationFunction="ValidateAnswer"
    ValidateEmptyText="true"
    Display="Dynamic"
    ValidationGroup="First"
    ForeColor="red" >
</asp:CustomValidator>
function ValidateAnswer(sender, args) {
  args.IsValid = args.Value != "" && args.Value == "answerswer here";
  if(!args.IsValid) {
     document.getElementById('myLabel').style.color = 'red';
  }
  return;   
}

服务器端代码:

  if(this.txtBox.Text.Length == 0) 
      {
        //no value entered
        lblMyLabel.BackColor = Color.Red;
        lblMyLabel.Text = "Invalid entry";
      }

客户端可以这样做:

标记:

 <asp:TextBox onchange="Validate();" runat="server" id="myTextBox"/>

JS:

function Validate()
 {
  var t = document.getElementByID("myTextBox");
  var l = document.getElementByID("myLabel");
  if (t.Length == 0) 
       {
         l.style.backgroundColor='red';
       }
 }

有多种选择,一些是服务器端,一些是客户端,但在这两种情况下都涉及验证。从本质上讲,你是想改变标签上的css类或其他样式属性。

c#代码:

if(yourConditionText != "YourExpectedValue")
{
    youTextBox.BackColor = System.Drawing.Color.Red; 
}

在服务器端按钮单击事件中(当您在aspx页面的设计视图中双击按钮时将自动生成):

 protected void Button_Click(...)
    {
        if(txtYourTextBox.Text != "YourDesiredValue")
        {
            lblYourLabel.ForeColor = Color.Red;
        }
    }

更好的是,您可以使用String。比较(推荐)如下:

if(string.Compare(txtYourTextBox.Text, "YourDesiredValue") != 0) //0 = Match
{
    lblYourLabel.ForeColor = Color.Red; //For backColor set BackColor property
}

希望有帮助!