- - PR -
フレームページのDropDownListの動きがおかしい
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-03-31 13:07
PostBackした際に、サーバが送出した値(ここでは2)と変わっていなければ SelectedIndexChangedイベントは発生しません。回避方法は時と場合によっていろいろ ですが思いつくのを2つ。 1、SelectedIndexChangedではなくPage_LoadでIsPostBackがtrueのときに Response.Redirectする 2、Header.aspxにポストバックしないでクライアントでMain.aspxに飛ばす。 AutoPostBackをやめて自前でjavascriptのonchangeでparent.main.location.href= のようにする。 | ||||
|
投稿日時: 2005-03-31 13:29
ポストバックの仕組みについては、この記事が参考になりそうです。 .NETエンタープライズWebアプリケーション開発技術大全 ポストバック処理 yosiyongさんの例だと、HeaderページのDropDownListの選択値を変えた場合、ポストバック後に最新の選択値がHeader.aspx内の隠し項目ViewStateに反映され、二回目以降のポストバック時にこのViewStateの値を元にサーバサイドでイベントを発生させる処理を行っている。 ところがtargetをMainにしてしまったために、Headerの方のViewStateが更新されなくて、その後のイベント絡みの挙動がおかしくなった、ということではないでしょうか。 私も上記の記事、斜め読みしただけなので間違ってたらすみません。 | ||||
|
投稿日時: 2005-03-31 14:24
はい。Trueにしてあります。 ほかのコントロールもあるので2番のアドバイスを使わせていただきたいと思っております。 ご親切に、ありがとうございます。 | ||||
|
投稿日時: 2005-03-31 14:32
私の勉強不足でそういう現象は納得いかなかったんです。 リンクしていただいたページでもっと勉強させていただきます。 ありがとうございます。 |