- - PR -
TabContainerでクリック後のアクティブな位置を取得
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2009-01-24 23:44
お世話になります。
Ajax の TabContainer を配置しタブを3つ追加しています。 この時、タブをクリックした位置(番号)を取得したいのですが、どうしたらクリック後のアクティブな位置を取得できますか? TabContainer1_ActiveTabChanged() を追加してみましたが、これは初期時に1回呼ばれるのみでした。 OnClientActiveTabChanged にJavaScript のコードを呼ばせてみましたがクリックした位置が取得できずまた、それをサーバー側に伝えられなくて断念。 AutoPostBackをTrue にすると TabContainer1.ActiveTabIndex; が取得できますが、これは、クリックする前のタブ位置です。 どうしたら、クリック後のタブ位置を取得できますか? 教えてください。 ASP.NET C# |
|
投稿日時: 2009-01-25 07:14
↓を参照してみてください。
http://forums.asp.net/p/1369838/2859144.aspx _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 |
|
投稿日時: 2009-01-25 10:42
お世話になります。
> Now, keep in mind that this control is sitting within an AJAX UpdatePanel so > only a partial postback occurs and it works fine. によるとAJAX の UpdatePanel 内にタブコンテナを配置すれば、そこでポストバックが発生しTabContainer1_ActiveTabChanged() クリックの度に呼ばれるようになりました。 ありがとうございました。 |
|
投稿日時: 2009-01-25 12:31
お世話になります。
できました!と言って先ほど言いましたが、1つ問題が起きました。 実は、タブコンテナの中に GridView を配置していて「編集」ボタンを押しても編集モードにならず、 「Sys.WebForms.PageRequestManagerParserErrorException:The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), ....」 というメッセージが出ます。サーバー側が処理できないようですがどうしたらいいですか?教えてください。 |
|
投稿日時: 2009-01-26 07:06
ASP.NET 3.5 SP1でも発生しますか?
_________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 |
|
投稿日時: 2009-01-26 10:05
お世話になります。
> ASP.NET 3.5 SP1でも発生しますか? 残念ながらVS2005なので使用できません。 表示メッセージ内に「....Response.Write(), response.filters, HttpModules....」 とあって、これらをもとに下記を確認してみました。 まず、コードは、マスターページの子に上記のAjax TabContainer があります。 エラーメッセージに該当すると思われる部分は、マスター内のPage_Load()にある Response.Write("予約が入っている.....");の1文ぐらいでした。 とりあえずこれをコメントしてみるとエラーは出なくなりました。 しかし、Response.Write文は、メッセージ表示によく使うであろうと思いますので、もし実行時に、このエラーメッセージが出るとなるとちょっと不便になりそうです。 実際、マスタ内でResponse.Writeは、Try -- catch を除くと2,3か所のみなので対応できなくは、ないようですが..... 上記のResponse.Write("予約が入っている.....");は、単なる覚書程度なので、今回は、コメントにしました。 単に、コメントアウトでOKなのかどうかわからないので、このまま、様子を見てみます。 ありがとうございました。 |
1