您的位置:首页 > Web前端 > JavaScript

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

2009-01-14 14:00 633 查看
<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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: