- PR -

AJAXによるドロップダウンリストへの値セットについて

投稿者投稿内容
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-08-10 21:05
>javascriptからsession変数に値を書き込む
ええと。
サーバサイド・クライアントサイドの違いは分かりますか?
未記入
大ベテラン
会議室デビュー日: 2005/03/23
投稿数: 105
投稿日時: 2006-08-11 08:40
mioさんおはようございます。

クライアントサイドとはサーバーから送られてきて
クライアント上で動いているもので
サーバーサイドとはサーバー上で稼動しているもので
双方でやりとりをしているくらいのイメージです。

今回非同期的にクライアントからドロップダウンに
値をセットしてそれが消えないようにするために
クライアントがドロップダウンにセットした値を
sessionに退避したいのですがjavascriptはクラ
イアントサイドだからサーバー上にあるsession
には直接書き込み出来ないということでしょうか?
不勉強で申し訳ありません。

宜しくお願いします。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-08-13 21:28
引用:

未記入さんの書き込み (2006-08-10 20:45) より:

ここでなんども聞いてわるいのですが、javascriptから
session変数に値を書き込むやり方はどのようにするのが
よいのでしょう? 一応


クライアント(ブラウザ)で動作する JavaScript から、
サーバ上の Session変数に直接値を書き込むことはできません。

引用:

未記入さんの書き込み (2006-08-10 20:45) より:
コード:
<% sesion("a") = "4" %>




これはサーバ側のコードとして実行されます。
出力されたHTMLを見ればわかりますが、
HTMLとして出力されないのでクライアントスクリプトとして
動作しようがありません。

なので、前回選択した値を元にクライアント側でリストを再取得したり、
hidden や mio さんの言われるように cookie に値を仕込ませて
javascript で再度リストを取得しないとだめだと思います。
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-08-14 09:41
引用:

今回非同期的にクライアントからドロップダウンに
値をセットしてそれが消えないようにするために
クライアントがドロップダウンにセットした値を
sessionに退避したいのですがjavascriptはクラ
イアントサイドだからサーバー上にあるsession
には直接書き込み出来ないということでしょうか?


書き込みできない理由はそのとおりです。
が、元々私が書こうとしていたのは、その前の段階の話です。
ドロップダウンに追加するべき項目を、AJAXで取得しに行く、つまりサーバ側の処理が走っていますよね。
このサーバ側の処理のついでに、セッションに値を保持すれば良いのではないですか?
ドロップダウンに追加した後である必要はなく、その前でも良いように思うのですが。
未記入
大ベテラン
会議室デビュー日: 2005/03/23
投稿数: 105
投稿日時: 2006-08-14 20:10
こんばんは

mioさん かるあさんお返事ありがとうございました。
不勉強のため何度も返答させてしまって申し訳ないです。

でもお二人のいっていることが何とか理解できて
なんとかなりそうです。 本にありがとうございます。

ちなみに Ajavxなのですが 最初は AJAX.NET.dll
というのをネットでダウンロードしてきて使用して
いたのですが、このDLLを使用するとなぜだか同じ
コードなのにうまくいったりいかなかったりします。
しょうがないので、他のページでみつけたリピータ
コントロールにXML形式で出力しjavascriptに渡す
やり方でやっています。
<asp:Repeater id="data" runat="Server">
<HeaderTemplate>
<Result>
</HeaderTemplate>
<ItemTemplate>
<Data>
<PostNum>
<%# DataBinder.Eval(Container.DataItem, "syohin_cd") %>
</PostNum>
<Address>
<%# DataBinder.Eval(Container.DataItem, "syohin_name") %>
</Address>
</Data>
</ItemTemplate>
<FooterTemplate>
</Result>
</FooterTemplate>
</asp:Repeater>
(この場合javascriptで受け取った際に前後にtabみたい
 なものがつきますが)

AJAX.NET.DLLの解決方法か、他にもASP.NETの用のAJAXの
いいツールがあれば教えて下さい。(出来ればでいいので)

いろいろとありがとうございました。

かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-08-14 20:35
引用:

未記入さんの書き込み (2006-08-14 20:10) より:

ちなみに Ajaxなのですが 最初は AJAX.NET.dll
というのをネットでダウンロードしてきて使用して
いたのですが、このDLLを使用するとなぜだか同じ
コードなのにうまくいったりいかなかったりします。


うまくいかないときは、どのようにうまくいかないのでしょうか?
コンパイルエラーが出る?例外が発生する?

AJAX.Net に関しては Access さんのホームページにサンプルが多くありますね
http://www.friendlysw.com/aspnet/aspnet.asp

引用:

AJAX.NET.DLLの解決方法か、他にもASP.NETの用のAJAXの
いいツールがあれば教えて下さい。(出来ればでいいので)


もう一つの AJAX 実装である Atlas はいまだ CTP ですが、
Atlas に関しても調べてみてはどうでしょうか

[ メッセージ編集済み 編集者: かるあ 編集日時 2006-08-14 20:38 ]
未記入
大ベテラン
会議室デビュー日: 2005/03/23
投稿数: 105
投稿日時: 2006-08-18 19:30
かるあさん大変返事が送れて申し訳ありません。

AJAX.NET.DLLでうまくいかないというのは基本的に
は問題なく動作するのですが、なぜかあるとき突然
ブラウザーの左下にページのエラーが発生しそこか
らはまったく機能しなくなります。
※これは自分が作成したのもそうなのですが
Microsoftからダウンロードしてきたサンプルでも
同じような現象がおこります。
http://www.microsoft.com/japan/msdn/net/aspnet/ASPNetSpicedAjax.aspx

ありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)