无法从服务器端读取隐藏字段值
Unable to read hidden field value from server side
我有一个aspx页面(默认.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();
警报显示的值绝对正常。 这意味着该值被正确插入到隐藏字段中。
但是当我回发到服务器并检查值时,它始终为 null。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// do something.
}
else
{
string str = this.HiddenField1.Value;
}
}
我的代码总是在这里得到一个空字符串。 不知何故,回发正在擦除隐藏字段中的值。
可能是什么原因?
尝试使用以下语法。即使在回发后,它也对我有用。
ASPX 代码
<asp:HiddenField runat="server" ID="aspHiddenField" />
<input type="hidden" id="inputHidden" value='<%= aspHiddenField.ClientID %>' />
JavaScript 代码
var inputHidden = document.getElementById('inputHidden');
$("#" + inputHidden.value).val("some text");
代码隐藏
if (!string.IsNullOrEmpty(aspHiddenField.Value))
{
//Your code goes here
}
检查您的控件是否在母版页中,如果是,那么您需要像这样访问它,第一个母版页->在母版页中查找控件的值,它将正常工作。
将隐藏字段放在更新面板中,例如:
<asp:UpdatePanel ID="UpnlHidden" runat="server">
<ContentTemplate>
<asp:HiddenField ID="HiddenField1" runat="server"/>
</ContentTemplate>
</asp:UpdatePanel>
这将为你工作:-)
相关文章:
- JavaScript 检查隐藏字段中的值并将其设置为隐藏字段值
- 带有验证和隐藏字段值的提交按钮
- 主干窗体隐藏字段未呈现
- 清除以前的$_GET值或不获取仅隐藏字段的值
- 添加和删除隐藏字段数组中的值,而不提交表单
- 在控制器上使用“$watch”时,为什么不更新此隐藏字段
- 将选项值附加到隐藏字段
- JQuery获取隐藏字段的值
- MVC+访问控制器中的隐藏字段
- ASP.net Javascript函数中的隐藏字段为null
- 在第一页加载时隐藏字段,而不是在php发布之后
- 表单使用js、html,而不是隐藏字段
- 如何根据文本长度立即显示和隐藏字段?-JQuery
- 在选择更改时显示大于/小于的隐藏字段集
- 如何获取多个复选框值并分配给隐藏字段
- 将会话登录页存储在cookie中以进行表单解析(通过隐藏字段)
- 将布尔值存储在隐藏字段中以进行表单处理
- 如何将多个/不同的隐藏字段插入 XML
- 如何通过 JSP 代码将隐藏字段(Javascript)插入 XML
- 如何使用Java在Selenium WebDriver的隐藏字段中键入一些文本