文档章节

为什么PreviousPage为null

别处有
 别处有
发布于 2015/10/24 20:50
字数 341
阅读 635
收藏 0

      今天在自学网上学习了一下页面之间控件的传值,通过Button中的PostBackUrl来实现页面的跳转,通过PreviousPage.FindControl(“”);来获取控件的id,以实现页面值的传递 .  但发现previousPage一直是null,为了避免代码原因,我随手写了个button来测试了一下:

c_set.aspx为传值页

   <asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="~/c_read.aspx"  />

 c_read.aspx为接受页

c_read.aspx.cs:

  protected void Page_Load(object sender, EventArgs e)
    {
        if (Page.PreviousPage != null)
        {
            Response.Write("previousPage不是空");
        }
        else
        {
            Response.Write("previousPage是空");
        }
    }

显示结果为previousPage为空

最后我在网上查了很久,才找到原因:When you use the default WebForm from visual Studio, the AutoRedirectMode is set to Permanent. This makes you request into a “GET” and since you are using Friendly URLs1, you can’t evaluate the PreviousPage. 

The problem was the FriendlyUrls nuget package was removing the .aspx after my page names so my target page was not WebForm2.aspx but just WebForm2. This made the previous page null.

If you want a “POST” action then set the AutoRedirectMode = RedirectMode.Off (this will give you PreviousPage info but only from non-Friendly-Url pages [ex: www.you.com/mypage.aspx], however this will get you an error if you try to access the Friendly-Url page [ex: www.you.com/mypage] << no .aspx).

当你用建立网站的时候通过ASP.Net WEB窗体网站,那么在运行的时候浏览器会隐藏页面的后缀。

如果我们通过空网站建立WEB项目即:

那么previousPage就不会为空了。

c_read.aspx.cs:

 protected void Page_Load(object sender, EventArgs e)
    {
        if (PreviousPage != null)
        {
            Response.Write("previousPage可用");
        }

    }

 

© 著作权归作者所有

别处有
粉丝 1
博文 8
码字总数 1789
作品 0
达川
程序员
私信 提问
页面之间传递参数的几种方法荟萃

第一种方法: 通过URL链接地址传递 send.aspx: protected void Button1_Click(object sender, EventArgs e) { Request.Redirect("Default2.aspx?username=honge"); } receive.aspx: string u......

晨曦之光
2012/03/09
74
0
POST抓包

语言要求:C/C++ 使用程序模拟登录阿里妈妈 (URL:http://www.alimama.com/index.htm) 输入单品链接,搜活动 搜活动能显示鹊桥 利用搜索活动搜索商品,可以直接查看是否有鹊桥。没有鹊桥的...

5044008
2016/06/15
19
0
hibernate中带查询条件的分页

所谓分页,从数据库中分,则是封装一个分页类。利用分页对象进行分页。 但,分页往往带查询条件。 分页类的三个重要数据:【当前页码数】,【数据库中的总记录数】,【每页显示的数据的条数】...

无信不立
2014/07/01
0
0
FreeMarker 分页宏模板--freemarker-pagenav

好用的 freemarker 分页宏模板 dom结构比较主流的一个分页 一排显示10个分页按钮(想定制的话把页码提取出来做为参数即可) pagenav.previousPage 存着上一页 pagenav.totalPage 总页数 page...

Eaielo
2016/11/23
660
1
ASP.NET中IsPostBack详解

1、IsPostBack介绍 Page.IsPostBack是一个标志:当前请求是否第一次打开。 调用方法为:Page.IsPostBack或者IsPostBack或者this.IsPostBack或者this.Page.IsPostBack,它们都等价。   1)当...

酱哥哥
2014/07/02
38
0

没有更多内容

加载失败,请刷新页面

加载更多

Archiva 不小心删掉了管理员权限怎么办

Archiva 的界面和 UI 比较容易出问题。 在添加用户和为用户进行权限修改的时候,不小心连 admin 这个用户的权限都删掉了。 这个时候应该如何恢复 admin 这个用户的权限? 这个时候你可以尝试...

honeymoose
24分钟前
3
0
Java8新特性之空指针异常的克星Optional类

Java8新特性系列我们已经介绍了Stream、Lambda表达式、DateTime日期时间处理,最后以“NullPointerException” 的克星Optional类的讲解来收尾。 背景 作为开发人员每天与NullPointerExceptio...

程序新视界
37分钟前
3
0
OSChina 周四乱弹 —— 福布斯终身秃头奖

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享如是我闻的单曲《地藏经上卷》: 如是我闻#今日歌曲推荐# 《地藏经上卷》- 如是我闻 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
40分钟前
126
7
Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
今天
6
0
总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部