Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更改对象发送器控件的CSS类_C#_Css_Linkbutton - Fatal编程技术网

C# 更改对象发送器控件的CSS类

C# 更改对象发送器控件的CSS类,c#,css,linkbutton,C#,Css,Linkbutton,我正在C#.net中制作工作簿创建者(使用visual studio) 本书由正文部分和问题部分组成 问题的所有答案都在文本中,用户需要单击正确的答案。如果他是对的,这个词就会变成绿色,如果他错了,这个词就会变成红色 我正在用LINKBUTTON创建可点击文本,我给了LINKBUTTON CssStyle类,在用户点击单词后,我想将这个链接的类更改为其他类 这是我用来创建linksbutton的代码: public void createQusetion(Panel lefttext, Pa

我正在C#.net中制作工作簿创建者(使用visual studio)

本书由正文部分和问题部分组成

问题的所有答案都在文本中,用户需要单击正确的答案。如果他是对的,这个词就会变成绿色,如果他错了,这个词就会变成红色

我正在用LINKBUTTON创建可点击文本,我给了LINKBUTTON CssStyle类,在用户点击单词后,我想将这个链接的类更改为其他类

这是我用来创建linksbutton的代码:

  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的一个属性,因此可以转换为该属性-谢谢,它非常有用