`
风火山林
  • 浏览: 147180 次
  • 性别: Icon_minigender_1
  • 来自: 汕尾
最近访客 更多访客>>
社区版块
存档分类
最新评论

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加载地址

方法一:
在asp.net的aspx里面的源代码中

浅析:这个是用了HTML控件,通过一个onclick的事件,调用了javascript中的一个方法就可以了。这个是最简单的了,也同样适用于静态页面,ASP页面等。

方法二:

利用Reponse.write
如果你对ASP有一定的了解,那么对Response.write这个东东就不会陌生了,方法一是直接有HTML页面中实现,则这个则是在后台环境中实现(这个说法好像不是很规范,呵呵)

Response.write("//<![CDATA[ history.go(-2); //]]> )

返回前一页


这里为会么要采用-2的值呢,我个人认为是这样的:因为在asp.net中的页面,当你按下一个button后,由于页面中会实现page.postback的缘故,实际上在这其中是刷新了两次页面,我们要的是第一次的,所以就......


方法三

利用Response.Redirect() 或 server.transfer()


在page_load中加入
if(!IsPostBack)
ViewState["retu"]=Request.UrlReferrer.ToString();

而在在返回按钮事件中
Response.Redirect(ViewState["retu"].ToString());
或Server.Transfer (ViewState["retu"].ToString());


浅析:
Request.UrlReferrer可以获取客户端上次请求的url的有关信息,我们在使用这个的时候最好对其进行一个判断

if(ViewState["UrlReferrer"]!=null)

Response.Redirect(ViewState["UrlReferrer"].ToString();

else
{
Response.write("对不起,当前是最前页码“);


这样才好使一点点喔
}

以下这段来自:http://stswordman.cnblogs.com/archive/2006/06/12/423910.html
在使用Request.UrlReferrer时还要注意:
1. 如果上一页面使用document.location方法导航到当前页面,Request.UrlReferrer返回空值
2. 如果有A,B两个页面,在浏览器中直接请求A页面,在A页面的中Page_Load事件中导航到B 页面,则 Request.UrlReferrer返回空。因为 在Page_load事件中页面还未初始化,所以无法记录当前页的信息,导航到b页面也就无法获得上一页面的信息
3. 点击刷新按钮不会改变Request.UrlReferrer


方法四:

这个方法估计很少人用,不过我试了一下,也还很不错喔

在button的onClick事件中输入

this.RegisterClientScriptBlock("e", "//<![CDATA[ history.go(-2); //]]> ");

一样可以 返回到上一页


方法五

这种方法也比较麻烦,不建议大家使用,这个好像是ASP里面的。


这里还要啰嗦一下用Javascript来实现与用Response.redirect()来实现的一点点区别,如果你是想保留你填的数据,那就要用history.go();这个东东,如果你只是直接返回不用做任何操作,你就可以用reponse.redirect()了.


.bg {background:#fafafa url(../images/company_39.jpg) 20px center no-repeat;}

分享到:
评论

相关推荐

    asp.net返回上一页实现方法

    在ASP.NET web应用程序开发中,有时我们需要为用户提供一个“返回上一页”的功能,这通常是为了增强用户体验,方便用户在浏览网站时轻松导航。本篇将详细介绍几种常见的ASP.NET中实现返回上一页的方法。 1. 使用...

    ASP.NET返回上一页面的实现代码

    在本问题中,我们关注的是如何在 ASP.NET 中实现从子页面返回上一页面的功能,这是一个常见的用户交互需求。 在描述的场景中,我们有一个主界面(未发货订单列表)和一个子界面(订单详细信息)。主界面通过 ...

    asp.net中返回上一页的方法

    asp.net中,有很多返回上一页的方法,但我试了好多,发现返来返去,总是容易紊乱,最后找到这几种方法,发现很不错,希望对你有帮助!

    asp.net下利用js实现返回上一页的实现方法小集

    本文将介绍几种不同的JavaScript和服务器端方法来实现在ASP.NET环境下返回上一页。 方法一:使用HTML按钮和JavaScript 这是最简单且通用的方法,适用于任何类型的网页。在ASP.NET的.aspx页面源代码中,你可以添加一...

    【ASP.NET编程知识】ASP.NET MVC自定义错误页面真的简单吗.docx

    例如,当用户访问一个不存在的 URL 时,ASP.NET MVC 将重定向到错误页面,而不是返回 404 状态码。 为了解决这个问题,可以使用 `redirectMode="ResponseRewrite"` 属性来重写错误页面的响应,而不是重定向到错误...

    ASP.NET—015:ASP.NET中无刷新页面实现

    ASP.NET 是微软开发的一种用于构建动态 Web 应用程序的技术,它允许开发者使用.NET Framework的强大功能来创建交互式、数据驱动的网站。在ASP.NET中,"无刷新页面实现"通常指的是通过 AJAX(Asynchronous JavaScript...

    深入挖掘ASP.NET 2.0系列课程(11):ASP.NET 中的静态页生成技术

    相比之下,动态页如ASP.NET的.aspx文件,是在用户请求时由服务器动态生成内容并返回。 二、静态页生成技术的引入 尽管动态页能够提供丰富的交互性和自定义功能,但它们对服务器资源的消耗较大,尤其是在高并发访问...

    asp.net json格式数据

    - `UpdatePanel`控件是ASP.NET AJAX的一个常见组件,它可以包装在页面上需要动态更新的部分,通过JSON数据与服务器进行通信。 3. **Web API和JSON**: - ASP.NET Web API是一个用于构建RESTful服务的框架,它支持...

    ASP.NET实现简易计算器

    ASP.NET是一种基于.NET Framework的服务器端编程模型,用于构建动态Web应用程序。在这个“ASP.NET实现简易计算器”的项目中,我们主要关注的是如何利用C#语言在ASP.NET的Web表单(WebForm)环境中创建一个基本的...

    asp.net 页面封装视频

    【ASP.NET 页面封装】是Web开发中的一个重要概念,它涉及到如何有效地组织和管理代码,以提高应用程序的可维护性和重用性。ASP.NET是微软公司推出的一种用于构建动态网站、Web应用和Web服务的框架,它基于.NET ...

    ASP.NET操作echarts

    ASP.NET 操作 ECharts 是一个将后端数据与前端可视化图表结合的过程,主要涉及 ASP.NET、C# 和 ECharts 三部分技术。ECharts 是百度推出的一款轻量级的 JavaScript 图表库,提供了丰富的图表类型,如折线图、柱状图...

    【ASP.NET编程知识】ASP.NET使用Ajax返回Json对象的方法.docx

    这个函数使用 jQuery 库来获取表单数据,并返回一个 Json 对象。 知识点四:定义注册功能的函数 在进行 Ajax 提交之前,我们需要定义一个函数来实现注册功能。在本示例中,我们使用了一个名为 reg 的函数,用于...

    asp.net生成静态HTML页面

    ASP.NET生成静态HTML页面是一种常见的优化网站性能和SEO(搜索引擎优化)的技术。它涉及将原本由服务器动态生成的ASP.NET(通常使用C#语言编写)网页转换为纯HTML文件,这些文件可以直接由Web服务器提供,而无需每次...

    extjs+asp.net后台管理系统页面

    ExtJS + ASP.NET 后台管理系统页面是一种常见的企业级应用架构,它结合了JavaScript库ExtJS的前端交互性与微软的ASP.NET后端技术,构建出功能强大的管理界面。下面将详细阐述这两种技术以及它们在后台管理系统中的...

    ASP.NET 2.0创建母版页引来的麻烦-js无用

    从给定的文件信息来看,主要讨论的是在ASP.NET 2.0中使用母版页(Master Page)时遇到的问题,具体是JavaScript无法在页面上正常工作,导致预期的功能无法实现。下面将深入分析这个问题,并提供可能的解决方案。 ### ...

    ASP.net从入门到实践

    ASP.NET是微软公司推出的一种用于构建Web应用程序的框架,它构建于.NET Framework之上,提供了全面的开发环境,用于创建高效、功能丰富的网站和Web应用程序。.NET Framework是一个完整的Windows平台组件,其核心是...

    ASP.NET电子通讯录系统

    ASP.NET电子通讯录系统是一种基于ASP.NET技术构建的在线联系人管理应用。它允许用户存储、管理和检索个人或组织的联系信息,提供了便捷的网络化通讯录服务。在这个项目中,我们将深入探讨ASP.NET框架的核心特性,...

    ASP.NET Ajax 写的一个用户注册实例

    ASP.NET AJAX 是微软提供的一种强大的Web开发技术,它结合了ASP.NET的强大功能和AJAX(Asynchronous JavaScript and XML)的异步交互性,允许开发者创建更高效、响应更快的Web应用程序。在这个用户注册实例中,我们...

    ASP.net快速生成静态页

    ### ASP.NET快速生成静态页知识点解析 #### 一、引言 在Web开发领域,静态页面因其加载速度快、...综上所述,通过上述方法可以在ASP.NET环境中实现快速生成静态页面的功能,不仅提升了网站的性能,还增强了用户体验。

Global site tag (gtag.js) - Google Analytics