我如何把标签变成asp红色
本文关键字:asp 红色 标签 | 更新日期: 2023-09-27 18:05:12
你好,我想把标签红色的。aspx当用户输入错误的答案到文本框
但不知道怎么做,我怎么能做到这一点?
您可以使用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
}
希望有帮助!