如何使动态创建的链接按钮表现为复选框?

时间:2017-12-04 20:38:29

标签: c# linkbutton

我有一组链接按钮(上面有图像)由Page_Load中调用的函数动态创建。
我试图做的是让它们作为复选框运行。我想在点击时在链接按钮上显示不同的图像,我希望它在再次单击时更改回来。 我在某个静态变量的帮助下以某种方式设法完成了它,但它没有正常运行。请检查下面的代码:

static int enable = 1; //Global variable

 private void binding_function() //Called in Page Load
  {
       LinkButton lnkmod = new LinkButton();
       lnkmod.ID = "lnkmod" + UID; //UID comes from the database.
       lnkmod.CommandName = UID;
       lnkmod.Text = "<i class='btn fa fa-plus-square-o' aria-hidden = 
             'true'><img src='http://localhost:3162/images/moderator-
              red.gif'></i>";

       lnkmod.Command += new CommandEventHandler(lnkmod_com);
       plcUserReq.Controls.Add(lnkmod);
  }
  private void lnkmod_com(object sender, CommandEventArgs e)
  {
    string uid = e.CommandName;
    if (enable == 1)
    {
        LinkButton btn = (LinkButton)(sender);
        btn.Text = "<i class='btn fa fa-check-square-o' aria-hidden = 
        'true'><img src='http://localhost:3162/images/moderator-blue.gif'>
        </i>";

        btn.ForeColor = System.Drawing.Color.Blue;
        enable = 0;
        return;
    }
    else if(enable==0)
    {
        LinkButton btn = (LinkButton)(sender);
        btn.Text = "<i class='btn fa fa-plus-square-o' aria-hidden = 'true'>
        <img src='http://localhost:3162/images/moderator-red.gif'></i>";

        btn.ForeColor = System.Drawing.Color.Red;
        enable = 1;
        return;
    }
}

由于我采用静态标志变量,因此对多个链接按钮无法正常工作。 如何为每个单独的控件分配一个标志变量,以便在点击时不断切换图像? 答案可能是Viewstate或Session状态。但我不知道如何在这种情况下实现它。 请帮忙!

0 个答案:

没有答案