どのように私は、フォームを投稿した後、まったく同じページに戻りますか?
-
20-09-2019 - |
質問
私は次のコードでいくつかのビジネス・ロジックを処理しますprocess.aspxというページにデータを投稿しています:
<%@ Page Language="C#" %>
<%
MyData.process(Request);
Response.Redirect("")
%>
このページでは、私は、ページの様々なから呼び出すされます。私のフォームが送信されたページから知る方法はありますか?
:私は執筆の線に沿って何かを考えていました <form id="frmSystem" method="post" action="process.aspx?page=<%= %>">
しかし、私は、現在のページ名を取得するために<%= %>
の間で書くことかわかりません。誰も助けてくださいことはできますか?
解決
あなたは、呼び出しページのURLをキャプチャし、後で使用するためにSession
またはViewState
でそれを保持することができます。
例えば、Page_Load
で、
Session["PreviousPage"] = Request.Url.ToString();
そして、あなたの最後のイベント(おそらくSavebutton_ClickまたはCloseButton_Click)で、あなたはこれらのいずれかの方法でリダイレクトを行うことができます:
Server.Transfer(Session["PreviousPage"].ToString(), false);
または
Response.Redirect(Session["PreviousPage"].ToString(), false);
また、呼び出しページのURLをこのように取得することができます:
Request.ServerVariables("HTTP_REFERER")
他のヒント
あなたは、ページ内の記号がどのように動作するか同様のReturnUrl
のようなプロパティを経由して、その中で渡すことができます。これは、あなたがそれをやっているかのようなものです。
また、あなたが言及誰が見てHttpContext.Current.Request.UrlReferrer
を使用しようとすることができます。
あなたは参照ページのURIを取得するためにRequest.UrlReferrer.OriginalString
を使用することができます。
所属していません StackOverflow