After page postback, DropDownList item attributes "color" cleared ?

本文探讨了在ASP.NET中如何解决DropDownList项的颜色样式在页面回发后丢失的问题,并提供了一种通过视图状态保存已选择项样式的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DropDownList1.SelectedItem.Attributes.Add("style", "Color:GREEN")
This is set when a person clicks a button, "resubmit order"... then the selected item is turned green so they know they've already fixed that order item.
Now if I select a different item, the page posts back to grab new information for another order...., but the previously set dropdownlist item, is no longer green.
I'm not refilling the dropdown, if the postback=true, so I have no idea why the viewstate is not keeping the attributes of the dropdown list items.
How can I preserve the color of dropdownlist items, after a postback ?

----------------------

Try this:
Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As EventArgs)
    For Each index As Integer In Me.SelectedItems
        DropDownList1.Items(index).Attributes.Add("style", "Color:GREEN;background:red")
    Next
End Sub


Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
    'DropDownList1.SelectedItem.Attributes.Add("style", "Color:GREEN");
    Dim selecteditems As List(Of Integer) = Me.SelectedItems
    selecteditems.Add(DropDownList1.SelectedIndex)
    Me.SelectedItems = selecteditems
End Sub


Private _SelectedItems As List(Of Integer)
Public Property SelectedItems() As List(Of Integer)
    Get
        If ViewState("SelectedItems") IsNot Nothing Then
            _SelectedItems = DirectCast(ViewState("SelectedItems"), List(Of Integer))
        Else
            _SelectedItems = New List(Of Integer)()
        End If
        Return _SelectedItems
    End Get
    Set(ByVal value As List(Of Integer))
        ViewState("SelectedItems") = value
    End Set
End Property

 

http://forums.asp.net/p/1159612/1913450.aspx

http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/Q_25339597.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值