ここは、MVCではなく、.net 2.0です。私はaspフォームで駄目です。asp.netのユーザーコンポーネントにデータを渡します。
私は、ユーザーコントロール付きのページを持っています。ページ内の何かをクリックすると、ページのパラメータに基づいてusercontrolをロードします。
私はそれを行うことはできません。私のページのFaultTree_Clickedで
、私はその後、値を取得:
は、私は私がFaultTree_Clicked、それは忘れられます に設定された値を、設定し 子ユーザーコントロールのプロパティを露出させてみました。
私は セッション[ "mykeyを"]、およびコントロールの Page_initでロード セッション[ "にmykey"]にそれを保存しようとした...値が空白になっています。
私は値が空白になって...コントロールの Page_initに のViewState [ "にmykey"]に保存し、ロード のViewState [ "にmykey"]みました。
EDIT:より具体的な情報:
<form id="form" runat="server">
<div id="faulttree">
<asp:TreeView ID="FaultTree" ......>
</div>
<uc1:_DefectDetail ID="DefectDetail" runat="server" Visible="true" EnableViewState="true" />
</form>
そして背後にあるページのコード上の方法がある:ここでは
ページ(MyFault)がどのように見えるの削減バージョンです"FaultTree_SelectedNodeChanged()"
このメソッドがヒットしたら、DefectDetailコントロールをロード/表示します。 DefectControlには、ツリーから外れたfaultidが必要です。これは、SelectedNodeChangedメソッドで正常に取得できます。欠陥コントロールにfaultidを取得することはできません。
私は何をしようとしているか説明するための例を更新しました。 – dalyons
それは私がする必要があったすべてです!ハハ。ありがとう。 Refresh関数内でfaultプロパティを設定した場合、そのコントロールの別のメソッドを呼び出すまでに空白に気づきました。だから私は、リフレッシュによって更新される隠されたフィールドにfaultidを置く。これは道のりですか?私は自分のフォールトオブジェクトがシリアル化可能ではないと思うかもしれないと思う。 – dalyons
隠しフィールドがうまく動作すればそれは素晴らしいです。 –