首页 > 解决方案 > ASP.Net - 根据背后的逻辑更改按钮的 CssClass 属性

问题描述

我有一个计时器,它每 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

我相信如果这确实是这样做的方法,我只是错过了将更改推回服务器的部分。如果是这种情况,我不知道需要做什么。

谢谢您的帮助。

标签: cssasp.netvb.net

解决方案


我认为它应该这样使用:

btnTicketAlert.CssClass = "TicketButton"

IE

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")

代替工作。

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


推荐阅读