JS如何使用ASP.NET服務器控件


ASP.NET服務器控件的強大使得.NET程序員方便很多,也輕松很多(當然,從事這個行業的人都知道這是一把雙刃劍……)。但是服務器控件顧名思義是要請求服務器的,那么這樣子就給客戶端增加的帶寬負擔。這是開發人員和用戶都不願意看到的。

那么肯定有人在想怎樣既能使用服務器控件(方便后台操作),又能讓JS操作服務器控件(頁面能處理的用JS處理)。這樣子程序員方便了,用戶也高興了。辦法當然是有的。具體實現如下:

<head>

<script type=”text/javascript”>

windows.onload = function(){

var mylbl = document.getElementById(‘<%=lblTest.ClientID %>’);

alert(mylbl.textContent);

}

</script>

</head>

<body>

<asp:Lable ID=”lblTest” runat=”server”>Test</asp:Lable>

</body>

對的,就是使用.ClientID這個屬性。這樣子就省事多了!

在網上看到很多人使用其生成HTML代碼中的id,這樣做可以,但是最大的問題就是穩定性太差。上面的方法簡單,穩定性良好。

還有一個辦法也是可行的:

那就是在服務器端注冊一個JS腳本,在需要使用這個ID的時候再去注冊,原因?頁面對此回發到服務器之后,服務器控件的ID可能會發生變化,從而帶來不可預知的結果,所以,在需要使用這個控件時向頁面注冊一段JS代碼,然后在前台直接調用就OK了,例:

RegisterStartupScript(“check”,
“\n<script>\n” +function
check()\n” +
“{\n” +return alert(”” +
txtName.ClientID.ToString() + “”);\n” +
“}\n” +</script>\n”;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM