在后续我的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" />

10-08 14:48