博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为什么PreviousPage为null
阅读量:6608 次
发布时间:2019-06-24

本文共 1460 字,大约阅读时间需要 4 分钟。

hot3.png

      今天在自学网上学习了一下页面之间控件的传值,通过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是空");
        }
    }

201727_T53d_2494495.jpg

201727_6XAn_2494495.jpg

显示结果为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 URLs, 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项目即:204116_sgxI_2494495.png

那么previousPage就不会为空了。

c_read.aspx.cs:

 protected void Page_Load(object sender, EventArgs e)

    {
        if (PreviousPage != null)
        {
            Response.Write("previousPage可用");
        }

    }

204957_O1rE_2494495.jpg

204957_SD1d_2494495.jpg

 

转载于:https://my.oschina.net/u/2494495/blog/521636

你可能感兴趣的文章
索引笔记《二》确定需要建立索引的列
查看>>
libjpeg的问题
查看>>
MySQL数据库学习笔记(八)----JDBC入门及简单增删改数据库的操作
查看>>
git 显示多个url地址推送
查看>>
Java Web之Filter
查看>>
HTTP状态码详解
查看>>
Java_动态加载
查看>>
为什么国外程序员爱用苹果 Mac 电脑?
查看>>
atitti.atiNav 手机导航组件的设计
查看>>
Ubuntu+Apache+PHP+Mysql环境搭建(完整版)
查看>>
Atitit.计算机图形图像图片处理原理与概论attilax总结
查看>>
于ssh端口转发的深入实例[转 - 当当 - 51CTO技术博客
查看>>
从Python安装到语法基础,这才是初学者都能懂的爬虫教程 ...
查看>>
超级AD远程管理软件
查看>>
Oracle数据库安全加固记录
查看>>
安全运维之:Linux系统账户和登录安全
查看>>
【cocos2d-x从c++到js】17:使用FireFox进行JS远程调试
查看>>
Kafka Offset Storage
查看>>
Windows Mobile下访问Sqlite的Native C++封装
查看>>
深度学习笔记之CNN(卷积神经网络)基础
查看>>