我的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。这可能会导致异常。我更新了您的代码以对其进行修复。
我希望这有帮助。