- - PR -
EnableViewState="false"設定での値の引継ぎに関して
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-01-29 19:32
Jitta様ご返答ありがとうございます。
早速試して見ましたが、コンパイルエラーに陥ります。 public class Text_Box_Add : System.Web.UI.MobileControls.TextBox{ protected override Object SavePrivateViewState() { Object baseState = base.SavePrivateViewState(); Object myState = GetMyState(); if (baseState == null && myState == null) return null; else if (myState == null) return baseState; else return new Object[] { baseState, myState }; } protected override void LoadPrivateViewState(Object state) { if (state is Object[]) { Object[] arr = (Object [])state; base.LoadPrivateViewState(arr[0]); LoadMyState(arr[1]); } else if (state != null) base.LoadPrivateViewState(state); } } を public class TEST_SITE : System.Web.UI.MobileControls.MobilePage { ....... } と並列に表記しましたが、 「名前 'GetMyState' は クラスまたは名前空間 'Text_Box_Add' に存在しません。」 と 「名前 'LoadMyState' は クラスまたは名前空間 'Text_Box_Add' に存在しません。」 となってしまいます。 表記の仕方が間違っていますでしょうか? 誠に何度も申し訳ありませんが、よろしくご教授お願いします。 | ||||||||
|
投稿日時: 2004-01-29 19:59
きくちゃん様ご返事ありがとうございます。
page_load時に if(this.HiddenVariables["DATA"]!=null){ string s=this.HiddenVariables["DATA"].ToString(); } データ取得時に this.HiddenVariables["DATA"]=INPUT_DATA; とやることによってデータの取得に成功したのですが、 この情報はクライアントの物で間違いないですよね? 正直、今日一日ずっとこの問題に取り組んでいて、 サーバが持ってる情報なのか、クライアントが持ってる 情報なのかかなり混乱してしまってます。 誠に素人のような質問で申し訳ありませんが、よろしく ご教授お願いします。
| ||||||||
|
投稿日時: 2004-01-29 20:12
ターキッシュさん、こんばんは。
MSDNライブラリ「ASP.NET モバイル コントロール」-「セッション状態の管理」に、隠し変数という項目がありますが、そこにはそれらしい事が書いてあります。 IEで見る限りは、 <input type="hidden" name="__V_hogehoge" value="hogehoge"> となっていますが、一応、各デバイス用のエミュレータで確認してみて下さい。 #エミュレータでソース確認出来るのかな...。 | ||||||||
|
投稿日時: 2004-01-29 20:20
きくちゃん様ありがとうございました。
確認できました、実機の方ではまだですが、おそらく大丈夫です。 いやー、かなり苦労しましたが、ようやく完成しそうです。 今後もよろしくご教授お願いします。
| ||||||||
|
投稿日時: 2004-01-29 20:23
Jitta様
一応の解決はしましたが、overrideの方法も是非勉強したいです。 あのソースで問題ありましたら、教えて頂きたく思っております。 よろしくご教授お願いします。 | ||||||||
|
投稿日時: 2004-01-29 23:28
ええ。最初はrunat属性はついてません。 1・HTMLコントロールをドラッグアンドドロップで追加。 2・コントロールにあわせて、コンテキストメニューを開いて 3・「サーバーコントロールとして実行」を選ぶ で、サーバーコントロールになります。 (runat="server"になるって事。) そんでもって、コードの方に画面遷移すると、自動で作成されていたりします。 っていう僕の環境がおかしいのかな・・・。 ちなみに、webユーザコントロールは僕の環境でも自動で追加されません。 [ メッセージ編集済み 編集者: NAL-6295 編集日時 2004-01-29 23:31 ] [ メッセージ編集済み 編集者: NAL-6295 編集日時 2004-01-29 23:33 ] | ||||||||
|
投稿日時: 2004-01-30 09:11
NAL-6295さん、お早うございます。
↑知らなかった...。 #今までHTMLビューで自分で打ってました。 | ||||||||
|
投稿日時: 2004-01-30 10:21
おなじく・・・ |