私は次の状況にあります:
Page1.aspx
マスターページに基づいており、「hdFlotaID」という非表示のフィールドがあります。同じページに、設定したボタンがありますPostBackUrl="Page2.aspx"
。ボタンをクリックすると、Page2が読み込まれますが、非表示のフィールドを取得できません。私は両方を試しました(msdnまたは他の投稿で見たように):
this.PreviousPage.Controls[0].FindControl("hdFlotaID")
と
this.PreviousPage.FindControl("hdFlotaID")
しかし、それらはnullを返します。
This.PreviousPage
値を返しますがControls[0]
、その値はマスターページを返すようで、コンテンツページが必要です。
また、非表示フィールドにrunatサーバー値があり、ClientIDモードが静的に設定されていることも確認しました(生成されたHTMLを確認し、IDが正しいことも確認しました)
手伝ってくれませんか!ありがとうございました
解決策:わかりました。あなたの助けに基づいて、私はそれをこのように機能させることができました
this.PreviousPage.Controls[0].FindControl("CPH").FindControl("hdFlotaID")
ここで、CPHはマスターページからのContentPlaceHolderのIDです。
また、パブリックプロパティを持つアイデアは非常に優れていますが、私の場合、PreviousPageTypeディレクティブを追加すると、名前空間に関するエラーが発生しました。ディレクティブを削除してコードビハインドでキャストすると、正常に機能します。
どうもありがとうございました