AXzhz

专注ASP.NET!
        写软件的都是小姐,用软件的都是大爷。真TMD说的正确!
                嫖妓不给钱,反说被强奸!___中国共享软件的无奈!
读小学的时候大学不要钱,读大学了小学不要钱。
没工作时国家有分福利房,工作了后全是高价房!!

                        此软件能有效的破解QQ密码。(注:破解QQ密码是违法行为,请不要将软件用于违法行为)
“安得广厦千万间,大庇天下寒士俱欢颜,风雨不动安如山。”1200多年前,诗人杜甫的理想,如今被一帮享受着电脑和互联网带来的快捷生活方式的受过高等教育的大孩子憧憬着。

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

Hidden Field 的值不能回传(PostBack)到后台_AX

是的,你没有看错,确实是Hidden Field的值没有PostBack到后台,我在百度和google上也没有搜索到相关内容.

查找n遍无果,还以为是因为项目类型(类库类型)的关系.直到有天偶然想到可能是脚本事件onbeforeunload的问题.经测试,确实原因出在这.

【总结】
NameValueCollection在onbeforeunload事件执行前就已保存好,所以在onbeforeunload事件中再更改input的值已不会起作用,反映到NameValueCollection中.  
但是:如果使用到return onbeforeunload事件,则改变的值又会反映到NameValueCollection中,PostBack到后台.

【测试代码】
前台代码:

复制代码
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    
<title>无标题页</title>
    
<script language="javascript" type="text/javascript">
    
function ChangeHiddenValue()
    
{
        document.getElementById(
"hidAX").value="已赋值!";
        alert(document.getElementById(
"hidAX").value);
        
//加return,离开页面时会显示对话框,并且显示return的内容
        //return "Hello";
    }

    
</script>
</head>
<body onbeforeunload="ChangeHiddenValue();">
<%--<body onbeforeunload="return ChangeHiddenValue();">--%>
    
<form id="form1" runat="server">
    
<div>
        
<asp:HiddenField ID="hidAX" runat="server" Value="默认值" />
        
<asp:Button ID="btnAX" runat="server" Text="点我进行PostBack" />
        
<%--<asp:Button ID="btnTest" runat="server" OnClientClick="ChangeHiddenValue();" Text="点我进行PostBack" />--%>
    
</div>
    
    
</form>
</body>
</html>
复制代码

后台代码:
复制代码
public partial class _Default : System.Web.UI.Page 
{
    
protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write(hidAX.Value);
    }
}
复制代码

posted on   斧头帮少帮主  阅读(1891)  评论(0编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
Google
 
站内搜索:        
园内搜索:
金山词霸:
点击右上角即可分享
微信分享提示