精华内容
下载资源
问答
  • C#:返回上一层

    千次阅读 2014-11-27 10:33:38
    1. 如果上一页面使用document.location方法导航到当前页面,Request.UrlReferrer返回空值 2. 如果有A,B两个页面,在浏览器中直接请求A页面,在A页面的中Page_Load事件中导航到B 页面,则 Request.UrlReferrer返回空...


    使用Request.UrlReferrer时需要注意:

    1. 如果上一页面使用document.location方法导航到当前页面,Request.UrlReferrer返回空值

    2. 如果有A,B两个页面,在浏览器中直接请求A页面,在A页面的中Page_Load事件中导航到B 页面,则 Request.UrlReferrer返回空。因为 在 Page_load事件中页面还未初始化,所以无法记录当前页的信息,导航到b页面也就无法获得上一页面的信息

    3. 点击刷新按钮不会改变Request.UrlReferrer


    方法一:

    1. 首先在Page_load中获得并储存该信息

    C#代码

    Page_load(object obj,EventArgs e)

    {

    if(!IsPostBack)

    {

    if(Request.UrlReferrer!=null) //

    {

    ViewState["UrlReferrer"]=Request.UrlReferrer.ToString();

    }

    }

    }


    (1)页面回发后会改变Request.UrlReferrer,将其指向当前页面,所以需要进行判断:只有在第一次请求页面的时候才储存该信息
    (2)因为可能“上一次”的url不存在,所以需要进行判断,只有在Request.UrlReferrer存在的情况下才进行储存



    2.然后在返回函数中使用该信息


    C#代码
    protected void btnBack_Click(object sender, EventArgs e)
    {
    Response.Redirect(ViewState["BackUrl"].ToString());
    }


    方法二:

    在C# Web程序中,如为页面按钮写返回上一页代码

    this.RegisterClientScriptBlock("E", "<script language=javascript>history.go(-2);</script>");

    其中,history.go(-2),要写为-2,因在按钮事件触发前,已刷新一次页面,所以应是-2。

    Response.Write("<script language=javascript>history.go(-2);</script>");

    此处也要写为“-2”。跟直接写脚本的有所不同。



    C# ASP.NET 返回上一页的通用代码
      我们知道返回上一页是 history.go(-1), 如果在本页面回发N次,则返回上一页就是: history.go(-N) 。这样的优点是,不仅返回上一页(前一页,上页,前页),而且保留表单里的全部数据(众多的选择项)。如果使用Response.Redirect()直接返回就全部丢失数据,当然你也可以使用Session, cookies以及ViewState来保存恢复使用,只不过麻烦些。
      以下有两种方法供选择,这些代码都是固定不变的,建议使用方法2,可多个页面同时使用。

    一. 方法1:单独使用,需要前台代码和后台代码
    1.在后台my.aspx.cs装载函数中
    void Page_Load(object sender, System.EventArgs e)
    {
    if(!Page.IsPostBack) //是首次装载,不是回发
    {
    ViewState["back_no"]=0; //隐藏的窗体字段ViewState,是页面级的
    }
    ViewState["back_no"]=Convert.ToInt32(ViewState["back_no"])+1;
    }
    2.在前台my.aspx页面加入语句:
    <input type="button" value="返回上一页" οnclick='history.go(-<%= (int)ViewState["back_no"] %>)'>

    二. 方法2:通用代码,仅需要后台代码

    在需要的后台代码文件中调用如下:
    1.在后台myself.aspx.cs装载函数中
    protected void Page_Load(object sender, EventArgs e)
    {
    my_common.SetBackPageNo(this);//累计本页面刷新次数,以便后面得到返回次数
    }
    2.在后台myself.aspx.cs,需要返回的函数中
    public void btnBack_Click(object sender, EventArgs e) //返回到列表显示页
    {
    my_common.retLastPage(this);//根据上面的累计次数,直接返回父页面,并保留其中的全部数据
    }

    3.为此,需要先建立通用的后台代码文件
    文件my_common.cs
    using System.Web.UI.WebControls;
    using System.Net;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Data.SqlClient;
    using System.Web.Configuration;
    public class my_common
    {
    //这些方法都是静态的static ,类名直接调用,不用建立实例
    static public void SetBackPageNo(System.Web.UI.Page Page)
    {//在页面的Page_Load 中调用,用全局的Session保存返回父页面的次数
    //得到传来页面的文件名称,是唯一的,以示区别其它的Session
    string back_name=System.Web.HttpContext.Current.Request.Path;
    if (!Page.IsPostBack)
    {
    HttpContext.Current.Session[back_name] = 0; //首次进入本页面,初始值设置为0
    }
    //累计本页面刷新次数(首次和回发),以便后面得到返回次数,
    HttpContext.Current.Session[back_num]=Convert.ToInt32(HttpContext.Current.Session[back_name]) + 1;
    }
    static public void retLastPage(System.Web.UI.Page Page)
    {//在页面的返回函数中调用,返回父页面实际执行的代码
    //得到传来页面的文件名称,是唯一的,以示区别其它的Session
    string back_name=System.Web.HttpContext.Current.Request.Path;
    //根据上面的累计次数,一次直接返回父页面,并保留其中的全部数据
    string num = HttpContext.Current.Session[back_name].ToString();
    string str = "<script language=javascript>history.go(-" + num + ");</script>";
    Page.RegisterClientScriptBlock("key", str);
    }

    }

    三. 补充说明
    Javascript 返回上一页
    1. 上一页表单里的数据全部保留, 返回上一页 history.go(-1), 返回两个页面: history.go(-2);
    2. 上一页数据全部丢失,是个新页面 history.back(-1),等同于asp.net 的 Response.Redirect("list.aspx");
    3. window.history.forward()返回下一页
    4. window.history.go(返回第几页,也可以使用访问过的 URL)
    这种好想不起作用 Rresponse.Write("<script language=javascript>history.go(-1);</script>")





    展开全文
  • js多层for循环嵌套如何一层一层终止

    千次阅读 2017-08-11 15:59:22
    one: for(var o=0;o two: for(var t=0;t three: for(var s=0;s if(o==2 && t==2 && s==3){ break one; break two; ...每个for循环外面命名,需要结束的时候 break 加上 要结束的命名 即可
    one:
    for(var o=0;o<5;o++){
    two:
    for(var t=0;t<5;t++){
    three:
    for(var s=0;s<5;s++){
    if(o==2 && t==2 && s==3){
    break one;
    break two;
    break three;
    };
    };
    };

    };

    每个for循环外面命名,需要结束的时候 break 加上 要结束的命名  即可

    展开全文
  • vue——双层循环嵌套

    千次阅读 2019-01-23 19:01:14
    1.首先你的json数据至少是两结构 menus: [ { &quot;Name&quot;: &quot;景区概况&quot;, &quot;Items&quot;: [ {&quot;Score&quot;: &quot;景区简介&quot;, &...

    1.首先你的json数据至少是两层结构

     menus: [
              {
                "Name": "景区概况",
                "Items": [
                  {"Score": "景区简介", "path": "/OverviewContent/OerviewIntroduce"},
                  {"Score": "景区掠影", "path": "/OverviewContent/shufty"},
                  {"Score": "组织机构", "path": "/OverviewContent/institutional"}]
              },
              {
                "Name": "景区新闻",
                "Items": [
                  {"Score": "新闻中心", "path": "/news/News"},
                  {"Score": "通知公告", "path": "/news/InForm"}]
              },
              {
                "Name": "藏品欣赏",
                "Items": [
                  {"Score": "藏品展示", "path": "/collectionContent/products"},
                  {"Score": "文物故事", "path": "/collectionContent/CulturalStory"},
                  {"Score": "亲切留念", "path": "/collectionContent/souvenir"}]
              }
         ]
    

    2.外层循环循环的是menus,内层循环循环menus里的Ttems

     <div v-for="(i,c) in menus" :k="c" class="index-footnav">
              <h6>{{i.Name}}</h6>
              <ul>
                 <li v-for="(a,d) in i.Items" :k="d">
                    <router-link :to="{path:a.path}">
                      {{a.Score}}
                    </router-link>
                  </li>
              </ul>
       </div>
    

    3.注意两次循环的每一项是不同的对象,要起不一样的名字;多层循环同理,一定要把数据结构写对(当然数据是后端返回的话当我没说。

    展开全文
  • JS中双层for循环执行顺序

    千次阅读 2019-03-06 15:40:08
    首先会先执行第一层循环,执行顺序如图所示。1:执行变量**(仅执行一次)**2:执行条件 3:执行代码块区域(注意,代码块中包含第二层循环) 4最后执行++。 ##2. 当执行到第三步时,发现有一个for循环,程序会先...

    js中双层for循环的执行顺序

    1

    首先会先执行第一层循环,执行顺序如图所示。1:执行变量**(仅执行一次)**2:执行条件 3:执行代码块区域(注意,代码块中包含第二层循环) 4最后执行++。
    执行顺序

    2

    当执行到第三步时,发现有一个for循环,程序会先执行完内部所有循环,之后返回到外部循环,判断外部循环是否符合条件,然后在继续执行内层循环,以此类推,待外部循环不符合条件时终止。
    在这里插入图片描述

    3

    最后附上显示结果,一目了然!
    在这里插入图片描述

    展开全文
  • 下面给大家介绍两种方式,第种是基于数学公式:第循环*(第二次循环总长度)+1+第二次循环 可以获取当前第几次循环 第二种方法:是在方法中进行计算返回当前下标。废话不多说先看一下效果吧 具体代码如下...
  • Java双层for循环的解释

    万次阅读 多人点赞 2018-03-24 13:25:09
    首先介绍最常见的双层for循环,写这个的原因就是看清楚for循环的多样化,按照当时需求去写for循环,希望你们能理解,少走弯路,写的不好的,写评论,我会修改的 i++ :是先运行,在加1 ++i :是先加1,在运行 ...
  • java直接跳出上层循环(多层循环)

    千次阅读 2017-04-17 15:45:39
    java中遇到了双层循环,想直接跳出双层循环。如下: for(int i =0;i System.out.println("外部部==========="+i); for(int j = 0;j System.out.println("内部==========="+j); if(j==3){ //从这里跳出到外部...
  • js for终止循环 跳出多层循环

    千次阅读 2018-12-24 19:43:42
    今天写带代码的时候遇到段代码,需要终止运行for,通过遍历json数据实现判断 &lt;script&gt; var Tid="55555"; var jb51cp = [ {id:66666,Cpurl:"https://baidu.com"}, {id:55555,...
  • 个表现的模板引擎 有能务展示和处理数据 界面节点和程序逻辑可以被共享,让界面、业务、技术等人员都能参考到项目中来 支持6种模板处理模式 HTML XML TEXT JAVASCRIPT CSS RAW 使用过程 1 添加...
  • 卫语句,多层循环优化

    千次阅读 2017-02-21 17:47:37
    【推荐】推荐尽量少用else, if-else的方式可以改写成: if(condition){ ... return obj; } // 接着写else的业务逻辑代码;...正例:逻辑超过3的if-else代码可以使用卫语句,或者状态模式来实现。
  • react里 render双层循环写法

    千次阅读 2019-03-11 18:53:07
    {dataArr[0].map((item,index) => (//双层循环--内 ${item.title}${index}`} style={item.width?{width:'25%',flex:'none'}:null}> { item.component==='InputItem'? placeholder="请输入" keyName={`${...
  • A页面返回及跳转地址 &lt;!-- 返回弹窗 --&gt; &lt;div class="no_set"&gt; &lt;p class="text"&gt;确定要放弃我吗?&lt;/p&gt; &lt;div class...
  • 实现个方法,接收数值n,打印个有n的直角三角形,并返回底边最后个值。并打印出来。 我的答案 package com.Homeworks; import java.util.*; public class Test01 { public static void main...
  • python中的双层循环,以及函数

    千次阅读 2018-08-14 12:20:03
    循环正常结束的时候会执行else的代码,如果非正常结束,就不会执行else里面的代码 1、forin 也是种遍历方式,而且是你以后经常使用的遍历方式,可以遍历字符串、列表、字典 格式: for x in sequence: ...
  • 多层for循环的优化

    千次阅读 2012-12-13 23:52:53
    由于这7组数据个数比较多,当时我弱弱的写了7的for循环,运行的时候感觉要算几个月。看来这程序必须优化一下才能跑。单纯的枚举法太耗时间了。   没有优化前的程序片段。 for (int s1 = 0; s1 (); s1++) { ...
  • break和return在多层for循环中的作用 #include #include #include using namespace std ; //测试break void testBreak(){ printf ( "%s\n" , "break=======begin" ); int count = 10 ...
  • goto语句跳转到指定循环层次

    千次阅读 2014-04-19 20:08:18
    一直以来,都不提倡使用goto语句,因为... 比如,有4层循环,最外层是第一层。处在最内层,一次break只能跳出与它最近的那个循环。如果使用goto语句,就可以跳转到指定层,比如直接由  第4层跳转到第2层。    
  • 面试必杀技,讲讲Spring中的循环依赖

    千次阅读 多人点赞 2020-07-06 17:59:24
    读源码,我们可以从第行读起 你知道Spring是怎么解析配置类的吗? 配置类为什么要添加@Configuration注解? 谈谈Spring中的对象跟Bean,你知道Spring怎么创建对象的吗? 这篇文章,我们来谈谈Spring中的属性注入...
  • System.out.println("请输入你的操作功能(0返回上一级操作、1、退出系统):"); break; case 2: case 3: } 现在问题就是,当case1执行完后,我想返回"查看全部用户信息",但我不知道...
  • 多层循环的跳出 return 语句 goto 语句 break 语句 continue 语句的用法与区别。
  • JSP 返回上一页的几种方法

    万次阅读 多人点赞 2017-01-11 20:01:54
    JSP 返回上一页的几种方法
  • python 多层for循环嵌套的优化方法

    千次阅读 2020-03-11 14:20:40
    题目:有5个长度不一的数组a1、a2、a3、a4、a5,现各从数组中取出个数,组成...题目挺简单,看一下就明白,然后第时间用了堆for循环,脚本如下: a1 = [1,2,4] a2 = [2,3,4,5] a3 = [1,4,7] a4 = [3,6,7,8] a5...
  • 1、游标实际种能从包括多条数据记录的结果集中每次提取条记录的机制。 2、游标充当指针的作用 3、尽管游标能遍历结果中的所有行,但他次只指向行。 4、游标的作用就是用于对查询数据库所返回的记录...
  • c:forEach循环嵌套

    万次阅读 2017-07-13 16:33:15
    题目要求:spring MVC的返回结果为:个类中嵌套个list,在前台如何通过两c:forEach来控制?{msg=[Field [id=1, name=经济学, plist=[Profession [id=1, name=理论经济学], Profession [id=2, name=应用经济学]...
  • import上一级目录的模块 python中,import module会去sys.path搜索,sys.path是个列表,并且我们可以动态修改。 要import某个目录的module,我们sys.path.insert(0,somedir)来加入搜索路径,就可以import了。 既然...
  • Pytorch 学习(8):Recurrent layers (循环层)实现之GRUCell GRU是Gated Recurrent Unit,GRU是LSTM的个变化形式。先看个GRUCell的小例子 rnn = nn.GRUCell(10, 20) input = Variable(torch.randn(6, 3, 10)...
  • JAVA基础(34) java如何退出两for循环

    千次阅读 2017-05-16 15:38:59
    1.直接源码,不用多说啥? @Test public void forEachTest() throws Exception{ int max=100; outer:for(int i=0;i;i++){ System.out.println("外层for循环,第("+(i+1)+")次循环开始++++++"); if(i > 10...
  • PHP中的循环结构大致有for循环,while循环,do{} while 循环以及foreach循环几种,不管哪种循环中,在PHP中跳出循环大致有这么几种方式: 代码: $i = 1; while (true) { // 这里看上去这个循环会一直执行 if ($i...
  • VUE同个组件内,多重数据嵌套,子循环取到父循环的ID值 ...现在是父组件请求,套用子组件请求, 当父组件请求完成之后,返回的都是Promise对象,使用循环 ,将父组件返回的Promise对象存到个新的数组中...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 357,540
精华内容 143,016
关键字:

返回上一层循环