我有一组链接按钮(上面有图像)由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状态。但我不知道如何在这种情况下实现它。 请帮忙!