3

イベントを格納するデータベースと、カレンダー オブジェクトを含むページがあります。日をレンダリングするとき、月のイベントを調べ、レンダリングされている現在の日に一致するものがある場合は、カレンダー上のその日のイベントを表すリンクボタンを作成し、そのセルに追加します。linkbutton に javascript を追加して、window.location をページに変更し、クエリ文字列に EventID を渡してイベントの詳細を表示します (新しく作成した linkbutton の postbackurl を設定しようとしましたが、ポストバックは発生しませんでした...運が悪い)。セッション変数を設定する必要があります。Session("EditMode") = "Edit" 新しいページは、新しいイベントを作成する準備ではなく、既存のイベント情報を取得することを認識しますか? 助言がありますか?

4

5 に答える 5

7

セッション変数はサーバーによって制御され、JS はクライアント側で実行されるため、変数を直接変更することはできません。

POST または GET と非表示の iframe を使用してサーバー リクエストを作成するか、XMLHTTPRequest() 呼び出しを使用して JS からサーバーにデータを送信し、サーバー側のコードで変数を処理する必要があります。

ページが既存と新規をトリガーするために使用できる別のクエリ文字列変数を追加します。

于 2008-09-24T21:05:41.650 に答える
6

ページが既存と新規をトリガーするために使用できる別のクエリ文字列変数を追加します。

于 2008-09-24T20:54:13.940 に答える
2

Struts2 などを使用している場合は、jsp に隠し変数を含めることができます。

<s:hidden id="EditModeId" value="%{#session.EditMode}"/> 

そしてJavaScript内でこの変数にアクセスするだけです

alert(document.getElementById('EditModeId').value);
于 2011-03-18T05:32:31.977 に答える
1

あなたは間違いなくターゲットページに変数を追加する必要があります。しかし、私はあなたがポップアップシナリオを実行していると考えているので、javascript関数OpenWindow()を作成し、ユーザーがリンクをクリックしたときにそれを起動できるはずです。

<script>
function OpenWindow(eventId, editMode)
{
    var window = window.open("popup.aspx?eventId=" + eventId + "&editMode=" + editMode);
}
</script>

サーバー側では、OpenWindow関数の呼び出しを作成する必要があります。例えば:

onclick="OpenWindow(eventId=" + row["eventId"].ToString() + "&editMode=" + editMode.ToString() + ");"

つまり、サーバーサイドですべてを準備して、すべての変数を新しいページに投稿するようにJavaScriptを設定します。お役に立てれば。

于 2008-09-24T23:40:37.267 に答える
0
var page1 = document.getElementById("textbox").value; 
sessionStorage.setItem("page1content", page1);

他のページでは、この値をセッション変数のように使用します

document.getElementById("textbox2").value=sessionStorage.getItem("page1content");
于 2014-07-01T10:56:46.673 に答える