为什么PreviousPage为null

本文详细探讨了在ASP.NET Web Forms中使用Button控件进行页面间值传递时遇到的问题,特别是当使用Friendly URLs时,为何Page.PreviousPage属性总是返回null。文章深入分析了原因,并提供了解决方案,确保在使用Friendly URLs的情况下,仍然能够正确地获取前一页的页面信息。

      今天在自学网上学习了一下页面之间控件的传值,通过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 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项目即: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

{ "code": 0, "data": { "total": 11, "list": [ { "id": null, "datasourceId": 33991, "datasourceConfId": 23625, "datasourceType": 10001, "datasourceTypeDesc": "MySQL_realtime", "datasourceName": "haozhen_test_20250103", "datasourceDesc": "haozhen_test_20250103", "dbName": "autotest_database", "dbNameCn": "autotest_database", "dbNameAlias": "autotest_database", "createBy": null, "updateBy": null, "createTime": null, "updateTime": null, "clusterName": null, "task": null }, { "id": null, "datasourceId": 39736, "datasourceConfId": 27400, "datasourceType": 10001, "datasourceTypeDesc": "MySQL_realtime", "datasourceName": "logic_ds1", "datasourceDesc": "logic_ds1", "dbName": "autotest_database", "dbNameCn": "autotest_database", "dbNameAlias": "autotest_database", "createBy": null, "updateBy": null, "createTime": null, "updateTime": null, "clusterName": null, "task": null }, { "id": null, "datasourceId": 40960, "datasourceConfId": 28399, "datasourceType": 10001, "datasourceTypeDesc": "MySQL_realtime", "datasourceName": "logic_ds2", "datasourceDesc": "logic_ds2", "dbName": "autotest_database", "dbNameCn": "autotest_database", "dbNameAlias": "autotest_database", "createBy": null, "updateBy": null, "createTime": null, "updateTime": null, "clusterName": null, "task": null }, { "id": null, "datasourceId": 42376, "datasourceConfId": 29774, "datasourceType": 10001, "datasourceTypeDesc": "MySQL_realtime", "datasourceName": "mysql_auto_test_20250402095655928", "datasourceDesc": "自动化测试数据源", "dbName": "autotest_database", "dbNameCn": "autotest_database", "dbNameAlias": "autotest_database", "createBy": null, "updateBy": null, "createTime": null, "updateTime": null, "clusterName": null, "task": null } ], "pageNum": 1, "pageSize": 10, "size": 10, "startRow": 1, "endRow": 10, "pages": 2, "prePage": 0, "nextPage": 2, "isFirstPage": true, "isLastPage": false, "hasPreviousPage": false, "hasNextPage": true, "navigatePages": 8, "navigatepageNums": [ 1, 2 ], "navigateFirstPage": 1, "navigateLastPage": 2 }, "msg": "操作成功", "failed": false }
最新发布
04-03
{ "returnCode": 0, "returnMessage": "调用成功", "data": { "total": 15, "list": [ { "id": null, "doorinfo": null, "cityname": null, "linename": null, "metrono": null, "doorid": 17414, "doorno": "222222222222222", "typename": null, "type": null, "faultname": "开门障碍物检测3次,开门障碍物检测2次", "sourcename": null, "happentime": "2023-05-29 00:00:00.000", "dealstatus": null, "countryid": 3, "areaid": 22, "lineid": 27, "metroid": 279, "carriageid": 1738, "firstchar": "H" }, { "id": null, "doorinfo": null, "cityname": null, "linename": null, "metrono": null, "doorid": 13456, "doorno": "HHHT0101101", "typename": null, "type": null, "faultname": "输出口0短路故障,输出口0工作异常,数据总线通信故障,门未经许可离开关锁到位位置故障", "sourcename": null, "happentime": "2023-05-29 00:00:00.000", "dealstatus": null, "countryid": 3, "areaid": 22, "lineid": 27, "metroid": 279, "carriageid": 1738, "firstchar": "H" }, { "id": null, "doorinfo": null, "cityname": null, "linename": null, "metrono": null, "doorid": 13608, "doorno": "HHHT0104101", "typename": null, "type": null, "faultname": "SRAM校验异常", "sourcename": null, "happentime": "2023-05-27 20:44:37.000", "dealstatus": null, "countryid": 3, "areaid": 22, "lineid": 27, "metroid": 282, "carriageid": 1756, "firstchar": "H" }, { "id": null, "doorinfo": null, "cityname": null, "linename": null, "metrono": null, "doorid": 13738, "doorno": "HHHT0102503", "typename": null, "type": null, "faultname": "开门障碍物检测2次", "sourcename": null, "happentime": "2023-05-27 16:51:31.000", "dealstatus": null, "countryid": 3, "areaid": 22, "lineid": 27, "metroid": 280, "carriageid": 1748, "firstchar": "H" }, { "id": null, "doorinfo": null, "cityname": null, "linename": null, "metrono": null, "doorid": 13560, "doorno": "HHHT0103101", "typename": null, "type": null, "faultname": "关门时间过长", "sourcename": null, "happentime": "2023-05-27 14:46:56.000", "dealstatus": null, "countryid": 3, "areaid": 22, "lineid": 27, "metroid": 281, "carriageid": 1750, "firstchar": "H" } ], "pageNum": 1, "pageSize": 5, "size": 19, "startRow": 0, "endRow": 18, "pages": 1, "prePage": 0, "nextPage": 0, "isFirstPage": true, "isLastPage": true, "hasPreviousPage": false, "hasNextPage": false, "navigatePages": 8, "navigatepageNums": [ 1, 2, 3 ], "navigateFirstPage": 1, "navigateLastPage": 1 } }返回结果是这些,请求方式为post,unity webgl获得的数据显示在文本框中代码怎么写
06-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值