- - PR -
Webユーザコントロールの新規プロパティの動作について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-04-27 15:53
いつも、勉強させていただいてます。
申し訳ありませんが、教えてください。 ASP.NET(VS2003)にてWEBアプリケーションを作成しています。 そこで、Webユーザコントロールを作成し、新規のプロパティを追加しているんですが、 ページ内に指定した値の取得はできるのですが、変更してもその後のポストバック時には、 プロパティ値が、元に戻ってしまうんです。 1.Webユーザコントロールを貼り付けたページに新規のプロパティを記述 <uc1:XXXXCONTROL id="XXX" ranat="server" XXXXTEXT="3"></uc1:XXXXCONTROL> 2.初回要求(またはポストバック)時に XXXXTEXTプロパティを4に変更する。 3.変更した後、同一ページにポストバックしてもデザイン時の値が取得されてしまいます。 そもそもユーザコントロールであり、ユーザコントロール内のコントロールには関係のない プロパティなので、SaveViewStateメソッドを発行しても、保存されなかったのですが、 なにか別途しなくてはいけないことがあるのでしょうか? |
|
投稿日時: 2005-04-27 16:24
保持しておきたいプロパティに関しては、
コントロールの状態の維持に従って ViewState に保存するのが簡単です。 |
|
投稿日時: 2005-04-27 16:55
にしざき さま
ありがとうございました。 早速試してみたいと思います。 同一ページに同じユーザコントロールをいくつか貼り付けしようと思っているのですが、 コントロール単位で管理されているようなので、プロパティ名をそのまま使用しても、 よさそうですね。 本当にありがとうございました。 |
|
投稿日時: 2005-05-16 20:11
私もVS2003にてASP.NETのWEBアプリケーション開発をやっております。
たばげろさんと同じような現象で悩んでおります。 ページングを表示するユーザコントロールを作りました。 私の場合、デフォルトプロパティは記述していません。 <uc1:Paging id="UcPaging" runat="server"></uc1:Paging> ポストバックし、DB検索結果に基づきユーザコントロールプロパティを 設定しました。 UcPaging.PageCount = Count UcPaging.PageWidth = Width UcPaging.AllCount = AllCount UcPaging.Url = "xxxx.aspx" UcPaging.PageFrom = 1 UcPaging.PageTo = Count しかし、ユーザコントロールプロパティが設定できません。 にしざき様の回答、 >コントロールの状態の維持に従って ViewState に保存するのが簡単です。 これらのプロパティをViewStateに保存するということでしょうか。 要領を得ない質問で申し訳ありませんが、よろしくお願いいたします。 |
1