【转载】在使用了母版页的内容页后,如何在javascript中调用服务器控件值

 <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<script language="javascript" type="text/javascript">
// <!CDATA[

function Submit1_onclick() {
     var Clientid
="<%=TextBox1.ClientID%>"//服务器控件在客户端生成的id
    txtbox=document.getElementById(v).value;
    alert(Clientid);
    alert(txtbox);
//文本框的值
}

// ]]>
</script>

    
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    
<input id="Submit1" type="submit" value="submit" onclick="return Submit1_onclick()" />
</asp:Content>

 

另一篇中的讲解:

在javascript调用控件的时候,无论这个脚本在母版页,还是在子页面:

1。javascript调用客户端控件:都可以直接调用母版页或子页面的所有客户端控件(<input>)的属性。
即:母版页和子页面里的javascript最终都被加载到了子页面。而客户端控件无论在哪个页面,其id,name等的属性值都不会改变。
2。javascript调用本页面的服务器端控件:都应该使用var d=document.getElementById('<%=TextBox1.ClientID %>');类似的语句。

javascript想调用服务器端控件,注意这个服务器控件的属性变化:
在使用了母版的子页面里,母版里的服务器控件中,runar="server"的Form的属性会变为:<form name="aspnetForm" method="post" id="aspnetForm">;
第一个asp:Buttont的type变为submit,其他的不变,而所有asp:Buttont和asp:TextBox,
ID的属性名前会加上ctl00_,比如:id="ctl00_Button1",name的属性名前加上ctl00$name="ctl00$Button1"
在子页面里,本页面的服务器控件都被放在了
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">。。。。。</asp:Content>中,
其ID的属性名前都要加上ctl00_ContentPlaceHolder1_,比如ctl00_ContentPlaceHolder1_TextBox1;
其name的属性名前都加上ctl00$,比如:ctl00$ContentPlaceHolder1$Button1

posted @ 2009-01-14 14:00  MyCoolDog  阅读(1234)  评论(2编辑  收藏  举报