2

私は、Web ガーデン シナリオがあり、セッション/インメモリにデータを保持できないプロジェクトに取り組んでいます。asp.net ページが Appian (bpm ツール) から開き、id をクエリ文字列で渡します。現在、クライアントは、読み取り後にクエリ文字列パラメーターを非表示にするように求めています。しかし、その場合、ランディング ページはhttp://a.aspx?id= '123' であり、その値を読み取った後、id (クエリ文字列) を公開せずに b.aspx にリダイレクトする必要があります。これを達成するための適切な方法を教えてください。私は本当にこれについて何の考えも得ていません。

4

2 に答える 2

4

キーと値のペアをヘッダーに追加できますが、クエリ文字列には表示されません。

HttpContext.Current.Response.Headers.Add( key, value);

string headerVal = HttpContext.Current.Request.Headers[key];
于 2014-03-04T19:12:14.270 に答える
0

GET の代わりに、サーバー側または http Post でセッション変数を使用できます。

Session["id"] = id;

そして b のロード時にそれを取得します。

Post を使用するには、隠しフィールドとフォームを使用できます。

//You can set it like this
<form name='IdForm' action='b.aspx' method='post'>>
<asp:HiddenField id="WhateverId" runat="server" value='<%= Request.QueryString["whateverID"] %>' />
</form>

リダイレクト時にJavaScriptを使用して投稿する

function Redirect() {
     document.forms["IdForm"].submit();
}

リダイレクトが発生する場合は常に、この js スクリプトを使用する必要があります。

そして最後に b.aspx コードビハインド

HttpContext.Current.Request.Form["WhateverId"]
于 2014-03-04T19:16:25.790 に答える