ASP.Net-根据背后的逻辑更改按钮的CssClass属性

时间:2018-11-27 19:34:18

标签: css asp.net vb.net

我有一个计时器,该计时器每30秒滴答一次,并检查存储过程检索到的记录。有3个选项;要么没有结果,所以不显示按钮,有结果,并且其中至少有一个是“紧急情况”,因此显示“紧急按钮”,或者有没有紧急情况的结果,因此显示“标准按钮”。

我有两个CSS类都可以独立工作,但是我似乎无法在VB.Net代码中更改asp:Button的CssClass属性,有什么帮助吗?我已经尝试了多种方法,下面是我最近的尝试版本。

If results.Count > 0 And blnEmergency = True Then
    btnTicketAlert.Attributes.Remove("CssClass")
    btnTicketAlert.Attributes.Add("CssClass", "EmergencyButton")
    btnTicketAlert.Visible = True
ElseIf results.Count > 0 And blnEmergency = False Then
    btnTicketAlert.Attributes.Remove("CssClass")
    btnTicketAlert.Attributes.Add("CssClass", "TicketButton")
    btnTicketAlert.Visible = True
Else
    btnTicketAlert.Visible = False
End If

我相信,如果确实是这样,那么我只是缺少将更改推回服务器的部分。如果是这样,我不知道该怎么做。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我认为应该这样使用:

btnTicketAlert.CssClass = "TicketButton"

If results.Count > 0 And blnEmergency = True Then
    btnTicketAlert.CssClass = "EmergencyButton"
    btnTicketAlert.Visible = True
ElseIf results.Count > 0 And blnEmergency = False Then
    btnTicketAlert.CssClass = "TicketButton"
    btnTicketAlert.Visible = True
Else
    btnTicketAlert.Visible = False
End If

*更新:

btnTicketAlert.Attributes.Remove("CssClass")
btnTicketAlert.Attributes.Add("CssClass", "TicketButton")

虽然对我不起作用。

btnTicketAlert.Attributes.Remove("class")
btnTicketAlert.Attributes.Add("class", "TicketButton")

代替。

无论如何,您可能已经检查过了,但是如果您的代码在计时器/按钮的位置后面没有问题(例如,如果您使用的是更新面板)