どのように私は、フォームを投稿した後、まったく同じページに戻りますか?

StackOverflow https://stackoverflow.com/questions/2455677

質問

私は次のコードでいくつかのビジネス・ロジックを処理します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を使用することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top