我的MasterPage中有一个文本框控件Super1。

我正在使用javascript从我的内容页面访问此控件,如下所示:

<asp:Content ID="ContentPage" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<script type="text/javascript">
    function Somethin() {
        {
            document.forms[0].elements['Super1'].value = "sdfsd";
            //document.getElementById('<%=Super1.ClientID%>').value = "sdfsdf";
        }
    }
</script>
</asp:Content>


但是在页面加载时,它说找不到Super1。如何访问Super1?

最佳答案

在您的母版页的onload中添加以下代码:

string script = @"<script>
function Somethin() {
        document.getElementById('" + Super1.ClientID + @"').value = 'sdfsd';
}

Somethin();
</script>";
if (!Page.ClientScript.IsClientScriptBlockRegistered("somethin_script_block"))
{
    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "somethin_script_block", script);
}


这会将您的脚本添加到页面的末尾。

编辑:我刚刚意识到,您可以直接在JavaScript代码中使用控件ID。这可能会导致异常。我更新了您的代码以对其进行修复。

我希望这有帮助。

07-24 15:06