在后续我的question的后续工作中,我想从后面的子页面代码中获取隐藏输入字段的值。
我尝试了HtmlInputHidden hdnID = (HtmlInputHidden)Page.Master.FindControl("ctl00_hdnField");
,但得到的是“空”值。
母版页的一个片段是:
<head runat="server">
<title>
<asp:ContentPlaceHolder ID="TitleContent" runat="server"></asp:ContentPlaceHolder>
<asp:Literal ID="Literal2" runat="server" Text=" : Logistics Management" />
</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="~/css/styles.css" rel="stylesheet" type="text/css" />
<asp:ContentPlaceHolder ID="ScriptCssContent" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
......
......
......
<div id="container">
....
....
....
<div id="content" style="z-index:0;">
<asp:HiddenField ID="hdnField" runat="server" Value=""/>
....
....
....
<asp:ContentPlaceHolder ID="MainContent" runat="server">
</asp:ContentPlaceHolder>
</div>
</div>
</form>
在我的子aspx页面上,我有以下javascript块:
window.onload = function() {
var newDate = new Date();
var hidField = document.getElementById("ctl00_hdnField");
if (hidField != null)
hidField.value = newDate.toLocaleString();
}
当我“添加手表”到
document.getElementById(“ ctl00_hdnField”)
该值是正确的。
问题:如何从代码隐藏访问hdnField控件中的值?
最佳答案
所以从HtmlInputHidden hdnID = (HtmlInputHidden)Page.Master.FindControl("ctl00_hdnField");
至HiddenField hdnID = (HiddenField)Page.Master.FindControl("hdnField");
这只是强制性的事情-请注意HtmlInputHidden
更改为HiddenField
。您也不需要ct100_
部分-只是这样,HTML呈现的元素具有唯一的ID。
页面上的控件是asp.net控件,而不是通用HTML控件。
如果将通用HtmlInputHidden
放在HTML中,则可以使用<input type="hidden" />
。