C# 发布表单后,如何返回到同一页面?
我正在将数据发布到一个名为process.aspx的页面,该页面使用以下代码处理一些业务逻辑:C# 发布表单后,如何返回到同一页面?,c#,asp.net,response.redirect,form-post,C#,Asp.net,Response.redirect,Form Post,我正在将数据发布到一个名为process.aspx的页面,该页面使用以下代码处理一些业务逻辑: <%@ Page Language="C#" %> <% MyData.process(Request); Response.Redirect("") %> 这个页面我将从各种页面调用。有没有办法知道我的表格是从哪一页提交的?我在想一些关于写作的东西: <form id="frmSystem" method="post" action="proce
<%@ Page Language="C#" %>
<%
MyData.process(Request);
Response.Redirect("")
%>
这个页面我将从各种页面调用。有没有办法知道我的表格是从哪一页提交的?我在想一些关于写作的东西:
<form id="frmSystem" method="post" action="process.aspx?page=<%= %>">
但是,我不知道在
之间写什么来获取当前页面名称。有人能帮忙吗?您可以通过类似于ReturnUrl
的属性将其传入,类似于登录页面的工作方式。这就是你在那里做的事情
您还可以尝试使用
HttpContext.Current.Request.urlreferer
查看谁推荐了您。您可以使用Request.urlreferer.OriginalString
获取推荐页面的URI 您可以捕获调用页面URL并将其保存在会话
或视图状态
中,以备以后使用
例如,在加载页面中
Session["PreviousPage"] = Request.Url.ToString();
然后在最后一个事件中(可能是Savebutton\u Click或CloseButton\u Click),您可以通过以下任一方式进行重定向:
Server.Transfer(Session["PreviousPage"].ToString(), false);
或
您还可以通过以下方式获取调用页面的URL:
Request.ServerVariables("HTTP_REFERER")
这似乎是要走的路,有没有办法只从这个方法中获取页面和查询字符串?我正在尝试它,它工作得很好,我只需要获取页面名称+查询字符串。如果您希望整个路径不包含http:part,可以使用Request.urlreferer.PathAndQuery。如果您实际上只需要页面名称和查询字符串,请使用System.IO.Path(Request.UrlReferer.LocalPath)+Request.UrlReferer.QueryHttpContext.Current.Request.UrlReferer正在正常工作,我现在只需要使用页面名称+查询字符串。不客气。我认为这是一个很好的功能,网站发送用户从哪里来。请注意,Request.Url.PathAndQuery可以伪造。在会话中存储上一页的方法似乎最适合这种情况。这一种做到了,我找到了“Request.urlreferer.PathAndQuery”命令!谢谢你,伙计!
Request.ServerVariables("HTTP_REFERER")