C# 更改对象发送器控件的CSS类
我正在C#.net中制作工作簿创建者(使用visual studio) 本书由正文部分和问题部分组成 问题的所有答案都在文本中,用户需要单击正确的答案。如果他是对的,这个词就会变成绿色,如果他错了,这个词就会变成红色 我正在用LINKBUTTON创建可点击文本,我给了LINKBUTTON CssStyle类,在用户点击单词后,我想将这个链接的类更改为其他类 这是我用来创建linksbutton的代码:C# 更改对象发送器控件的CSS类,c#,css,linkbutton,C#,Css,Linkbutton,我正在C#.net中制作工作簿创建者(使用visual studio) 本书由正文部分和问题部分组成 问题的所有答案都在文本中,用户需要单击正确的答案。如果他是对的,这个词就会变成绿色,如果他错了,这个词就会变成红色 我正在用LINKBUTTON创建可点击文本,我给了LINKBUTTON CssStyle类,在用户点击单词后,我想将这个链接的类更改为其他类 这是我用来创建linksbutton的代码: public void createQusetion(Panel lefttext, Pa
public void createQusetion(Panel lefttext, Panel question, string text, string
questionText, string answer)
{
string[] Qbuttonstext = text.Split(' ');
_numberWords = Qbuttonstext.Length;
for (int i = 0; i < _numberWords; i++)
{
LinkButton answerButton = new LinkButton();
if (Qbuttonstext[i] == answer)
{
answerButton.ID = "answer" + i;
}
else
{
answerButton.ID = "word" + i.ToString();
}
answerButton.Text = Qbuttonstext[i].ToString() + " ";
answerButton.CssClass = "textbuttonB4";
answerButton.Click += new EventHandler(checkAnswer);
lefttext.Controls.Add(answerButton);
}
}
public void createQusetion(面板左文本、面板问题、字符串文本、字符串
问题(文本、字符串和答案)
{
字符串[]Qbuttonstext=text.Split(“”);
_numberWords=qbuttontext.Length;
对于(int i=0;i<\u numberWords;i++)
{
LinkButton answerButton=新建LinkButton();
如果(Qbuttonstext[i]==答案)
{
answerButton.ID=“answer”+i;
}
其他的
{
answerButton.ID=“word”+i.ToString();
}
answerButton.Text=Qbuttonstext[i].ToString()+“”;
answerButton.CssClass=“textbuttonB4”;
answerButton.单击+=新建事件处理程序(checkAnswer);
lefttext.Controls.Add(应答按钮);
}
}
对于检查问题:
private void checkAnswer(object sender, System.EventArgs e)
{
for (int i = 0; i < _numberWords; i++)
{
if (((Control)sender).ID.ToString() != null)
{
if (((Control)sender).ID.ToString() == "answer" + i.ToString())
{
((Control)sender).CssClass = "textbuttonRight";
}
else
{
((Control)sender).CssClass = "textbuttonwrong";
}
}
}
}
private void checkAnswer(对象发送方,System.EventArgs e)
{
对于(int i=0;i<\u numberWords;i++)
{
if(((控制)发送方).ID.ToString()!=null)
{
if(((控制)发送方).ID.ToString()=“应答”+i.ToString())
{
((控制)发送方)。CssClass=“textbuttonRight”;
}
其他的
{
((控制)发送方)。CssClass=“textbuttonwrong”;
}
}
}
}
VS2010给我的是:((控制)发送方).CssClass的misatake
正确的方法是什么?您可以用这种方法进行类型独立的控制。它将为所有具有Id和CssClass属性的控件运行
private void checkAnswer(object sender, System.EventArgs e)
{
var cssClass = sender.GetType().GetProperty("CssClass");
var id = sender.GetType().GetProperty("ID").GetValue(sender, null);
for (int i = 0; i < _numberWords; i++)
{
if (id!=null)
{
if (id.ToString() == "answer" + i.ToString())
{
cssClass.SetValue(sender, "textbuttonRight", null);
}
else
{
cssClass.SetValue(sender, "textbuttonRight", null);
}
}
}
}
private void checkAnswer(对象发送方,System.EventArgs e)
{
var cssClass=sender.GetType().GetProperty(“cssClass”);
var id=sender.GetType().GetProperty(“id”).GetValue(sender,null);
对于(int i=0;i<\u numberWords;i++)
{
如果(id!=null)
{
如果(id.ToString()=“answer”+i.ToString())
{
cssClass.SetValue(发送方,“textbuttonRight”,null);
}
其他的
{
cssClass.SetValue(发送方,“textbuttonRight”,null);
}
}
}
}
为什么不将其转换为链接按钮
?CSSClass是WebControl的一个属性,因此可以转换为该属性-谢谢,它非常有用