<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