我有一个 aspx 页面 (default.aspx),我在其中加载了一个用户控件 (tree.ascx)。
在 tree.ascx 里面有一个隐藏的字段。
<asp:HiddenField ID="HiddenField1" runat="server"/>
我正在使用 javascript 为隐藏字段分配一个值。
document.getElementById('<%=HiddenField1.ClientID%>').value = "some text here";
alert(document.getElementById('<%=HiddenField1.ClientID%>').value);
document.getElementById('form1').submit();
警报显示的值非常好。这意味着该值被正确插入到隐藏字段中。
但是当我发回服务器并检查该值时,它始终为空。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// do something.
}
else
{
string str = this.HiddenField1.Value;
}
}
我的代码总是在这里得到一个空字符串。不知何故,回发正在从隐藏字段中删除值。
可能是什么原因?