2011-10-28 19 views
2

私はマスターページが継承するBase MasterPageクラスを持っています。私はいくつかのjavascript関数を含んでいます。基本クラスなので、ビジュアルデザイナーはいないし、XHTMLコードを追加することもできない。 JavaScriptのコードで値を設定できるように、隠しフィールドをクラスに追加する必要があります。ポストバックが発生したときに、コンテンツページにsetted値を取得できます。 しかし、私はこれを達成することができません。なぜなら、ベースのマスターページのコントロールコレクションに隠しフィールドを追加しようとすると、レンダリングエラー(Firefoxで表示される場合、コンテンツエンコーディングエラー)が発生します。コントロールのコレクションにコントロールを追加するのではなく、同じ名前のスクリプトマネージャーを使って不正なフィールドを登録しようとすると、私は値を空にします。 これをどのように達成できましたか?How To:HiddenFieldをmasterpageのベースページに動的に追加します。

+1

また、現在のplsが必要な実装を投稿できますか。 –

+0

あなたの興味に感謝しますが、ティムの答えは私が探していたものです! –

答えて

3
Public Class MyBaseMaster 
    Inherits MasterPage 

    Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init 
     If Not Page.IsPostBack Then 
     Page.ClientScript.RegisterHiddenField("MyHiddenField1", "initialvalue") 
     End If 
    End Sub 
End Class 

あなたは(それはservercontrolではありませんから、それはページのコントロールコレクションの一部ではありません)Request.Form("MyHiddenField1")経由のHiddenFieldの値にアクセスすることができます。

MSDN: HttpRequest.Form-Property

+0

私はこれを行い、javascriptを介して値を設定しましたが、ポストバックを実行してサーバー側のコードを実行すると値を取得する方法を理解できませんでした。方法はありますか?私を教えてください! –

+0

@user:私の答えを編集しました。 –

+0

ありがとう!これは完全に機能しました!私が質問を投稿することを決めるまで私は6時間を過ごしたと思う... –

関連する問題