最近、ボタンのクリック時にさまざまなユーザー コントロールをレンダリングする UpdatePanel を単一の Web ページに追加しました。Header.Stylesheet.CreateStyleRule を使用してヘッダーにインライン スタイルを動的に追加するという問題に苦しんでいます。問題は、部分的なポストバックに挿入されず、意味があることです。これは明らかに、部分的なポストバックであり、ページが初めて読み込まれたときにのみヘッダーがレンダリングされるためです。
スタイリングは、データベースからスタイリングを取得する次のメソッドによって追加されています。
Private Sub InitializeStylesheet(ByVal ButtonId As Integer)
Dim CSSStylesheet As Stylesheet = StyleBackend.GetStylesheets(ButtonId)
Dim IdClassList As List(Of StyleIDClass) = StyleBackend.GetStylesheetsStyleIDClass(CSSStylesheet.StylesheetID)
'Iterates through the cssidclass
For Each cssidClass In IdClassList
Dim styleItems As List(Of StyleItem) = StyleBackend.GetStyleItemsByIDorClass(cssidClass.StyleIDClassID)
Dim cssString As String = Nothing
For Each StyleItem As StyleItem In styleItems
cssString += StyleItem.Property & ":" & StyleItem.Value & ";"
Next
'Iterates all cssitems which belongs to a cssidclass
Me.Header.StyleSheet.CreateStyleRule(New CustomStyle(cssString), Nothing, cssidClass.ClassOrID)
Me.Header.ViewStateMode = UI.ViewStateMode.Disabled
Next
End Sub
私はこれを機能させようとしてお尻をグーグルで調べてきましたが、それは不可能のようです。
このmsdn記事のリテラルは、私がやろうとしていることをすることは不可能だと言っています。 http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmlhead.stylesheet.aspx
非同期ポストバック中にプログラムでスタイルまたはスタイル ルールを追加することはサポートされていません。ASP.NET Web ページに AJAX 機能を追加すると、非同期ポストバックによってページ全体が更新されることなく、ページの領域が更新されます。詳細については、「Microsoft Ajax の概要」を参照してください。
誰かがこれを行うための提案または代替方法を持っていますか?
ありがとうございました!