誰かが私を助けてくれるかもしれません。私は簡単なWebユーザーコントロール、日付と時刻のピッカー、私のwebformにドロップするように作成しました。これはすべてうまく動作し、私はプロパティを設定することができ、UIなどのためにコントロールを満足に使用することができます。Webユーザーコントロールの永続プロパティ(viewstate、session、context)
コントロールselected_date_timeプロパティを「使用」するときは、何も私は研究し、視聴者、文脈、セッションを使用して無限に試しました。 Onbiouoslyセッションは機能しますが、汚いです。このコントロール(開始時刻と終了時刻)の2つのコピーを使用していますので、セッション変数を実際にハックして作業を行う必要があります。
何か不足していますか?コントロールは何かが起こるたびに初期化され、明らかに状態情報を失います。私は日付を選択し、ラベルにその日付を書いて、それが持続するので、その状態を維持する。しかし、コントロールのプロパティにアクセスして、選択した日付と時刻の組み合わせを取得しようとすると(それは既に視覚的に持続しています)、その何もありません。私はデバッグし、私はページ上の投稿の任意のフォームを行うたびに初期化されます。
誰かが私のためにこれにいくつかの光を当てることができますか?本当に今、問題になっています。
ありがとうございます。
例:(簡単なコンポーネント)
UC _ save_method
ViewState("var_time") = "My veiwstate text"
フォームは
dim str as string = ViewState("var_time")
フォームは、ビューステートvarには何も見ない_read_method。
私は通常のプロパティと値でそれを試してみましたが、これは動作しませんでした。これが私のプロパティのvarを見るために移動した理由です。今、私はviewstateをプロパティなしでも動作させるようにしようとしています。
私のフォームに見えますが、コントロールには2つの独立したビューステートが必要ですか?私はviewstatesに関するn00bのビットです。
おかげ
[ソリューション] あなたが明示的にコントロールのprerenderメソッドであなたのプロパティをリセットする必要があります。私の誤解は、ページとコントロールが同じ単一のビューステートを共有するということでした。コントロールとそのページが独立したビューステートを持ちます。
コントロールのプロパティセット関数では、ビューステートで値を設定し、プリレンダリング時にそのviewstate値を取得し、プロパティget variable = - viewstateの値を設定します。
すべてが正常であったと世界が終了されていないかのようにあなたが今、あなたのページからプロパティにアクセスすることができます... pheww
おかげで私を導くためのcnayします。おそらく、
'Usr control xyz
Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
my_time = ViewState("var_time") 'my_time is the get variable for property date_time
End Sub
'page use
xyz.date_time
私たちはあなたを助けるためにさらに情報が必要です。あなたはコードを投稿できますか?例を表示しますか? –
こんにちは、私は例と追加しました –