zoukankan      html  css  js  c++  java
  • 如何在asp.net中实现返回上一页的功能

    方法一:
    private void Page_Load(object sender, System.EventArgs e)
            {
                
                ViewState["submittimes"]=Convert.ToInt32(ViewState["submittimes"])+1;
                            if(!Page.IsPostBack)
                {
                    ViewState["submittimes"]=1;


                }
            }

    页面:
    <INPUT type="button" value="Button" onclick='history.go(-<%= (int)ViewState["submittimes"] %>)'>  

    方法二:
    <a href=<%=request.serverVariables("Http_REFERER")%> >
        <asp:image ID="imgcancel"  Visible="false"
        ImageUrl="images/cancel.GIF"
        AlternateText="取消当前操作"  runat="server" />
    </a>



    方法三:

    in one example application of microsoft,(i forgot the name)
    using the following method
    in Page_Load
    if (!IsPostBack)
    {
    ViewState["UrlReferrer"] = Request.UrlReferrer.ToString();
    }

    for go back button click
    private void btnGoBack_Click(object sender, System.EventArgs e)
    {
           Response.Redirect((String) ViewState["UrlReferrer"]);
    }

    The problem is in some cases, Request.UrlReferrer will be null if you use firewall

    方法四:ASP.NET返回上一页并刷新

         最近在做一个网站,要让用户在执行了增加、删除或修改数据的操作后转到另一个页面上显示操作成功,然后再返回原来的页面。最开始用history.go(-1),这样能返回了,但是原来的页面没刷新。因为要返回的页面都不是相同的,所以没法用指定URL的方法来返回,还是要获得上一页的URL才行。看到网上说用Response.redirect(request.servervariables["http_referer"]) 这个可以,就试了下,结果不行。百度了下才知道这个在好多种情况下是无法正常取值的,我是用Response.redirect来转向的,所以request.servervariables["http_referer"]取来的值为空。看来还得再想别的办法,继续百度之,看到有说用Request.UrlReferrer来的。照着搜到的方法一试,终于成功实现返回并刷新了~~

     程序代码
    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request.UrlReferrer != null)
                    ViewState["UrlReferrer"] = Request.UrlReferrer.ToString();
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Redirect(ViewState["UrlReferrer"].ToString());
        }

    最后附上Request.ServerVariables取值的一些说明
    下列情况是从浏览器的地址栏正常取得Request.ServerVariables("HTTP_REFERER")的:

    1.直接用<a href>
    2.用Submit或<input type=image>提交的表单(POSTorGET)
    3.使用Jscript提交的表单(POSTorGET)
    下面我们再看看Request.ServerVariables("HTTP_REFERER")不能正常取值的情况:
    1.从收藏夹链接
    2.单击'主页'或者自定义的地址
    3.利用Jscript的location.hreforlocation.replace()
    4.在浏览器直接输入地址
    5.<%Response.Redirect%>
    6.<%Response.AddHeader%>或<meta http-equiv=refresh>转向
    7.用XML加载地址

  • 相关阅读:
    win7用VMware安装CentOs7搭建Linux环境
    安装Vmware并破解
    Webpack打包
    jquery获取动态table列表的值并组装成数组返回
    微信、钉钉、浏览器上H5页面头部标题(title)的修改,不刷新问题
    帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
    mysql常用语句
    JQuery日期插件
    系统激活教程及文件
    git教程
  • 原文地址:https://www.cnblogs.com/zxjyuan/p/2090443.html
Copyright © 2011-2022 走看看