Zugriff auf den Wert eines versteckten Feldes auf Masterpage aus codebehind

In einem follow-up zu meinem vorherigen Frage, möchte ich, um den Wert des versteckten input-Feld aus der untergeordneten Seite codebehind.

Versuchte ich HtmlInputHidden hdnID = (HtmlInputHidden)Page.Master.FindControl("ctl00_hdnField"); aber ich bekomme den Wert "null".

Zugriff auf den Wert eines versteckten Feldes auf Masterpage aus codebehind

Einen Ausschnitt aus der Masterpage ist:

<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>

Auf mein Kind aspx-Seite, ich habe diese javascript-block:

window.onload = function() {
    var newDate = new Date();
    var hidField = document.getElementById("ctl00_hdnField");

    if (hidField != null)
        hidField.value = newDate.toLocaleString();
}

Wenn ich "Add Watch" zu

Dokument.getElementById("ctl00_hdnField")

der Wert richtig ist.

Frage: Wie würde ich den Wert zuzugreifen, der im inneren hdnField Kontrolle von codebehind?

Sind Sie auf der Suche nach dem Steuerelement aus der masterpage-codebehind-oder der untergeordneten Seite codebehind?
das Kind codebehind-Seite
Nur eine readonly-Eigenschaft mit dem Namen Master() in Ihrem Kind-Seite, gibt die masterpage Instanz, und verweisen Sie in Ihrem Kind Seite wie Master.hdnField
Ich würde beachten Sie, dass Sie wahrscheinlich benötigen, um gehen Sie in Ihrem designer-Datei und machen hdnField öffentlichkeit. Aber, das ist die sauberste und einfachste Lösung.

InformationsquelleAutor Csharp | 2013-03-28

Schreibe einen Kommentar