程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> Asp.net 中ClientID的用法探討

Asp.net 中ClientID的用法探討

編輯:.NET實例教程

關於ClIEntID的使用我遇到一下問題:

獲取由 ASP.Net 生成的服務器控件標識符。

問題一: 用戶控件的頁面JavaScript中需要使用ASP.Net的控件ID,出現不一致。 
問題二:母版頁的子頁面JavaScript中需要使用ASP.Net的控件ID,出現不一致。 
解決辦法:
      document.getElementById("<%=TextBox1.ClIEntID%>").value="1234567"; 

此代碼可以在客戶端完成對服務器端控件的訪問,由於ASP.Net會為把服務器端控件在客戶端的呈現生成不同的名稱,所以此功能比較有用獲取。

注意采用此解決辦法的前提: ASP.Net的控件為靜態控件(通過工具添加的控件)

問題三: 動態創建控件的ClientID的獲得存在:不能在頁面中采用"<%=TextBox1.ClientID%>".方法獲得(不能的方法,因為控件是動態創建的);也不能在頁面腳本中采用TextBox1.ClIEntID的方法獲得(獲得的ID是不正確的)。
解決辦法:
(CitySpecProductScheduledControl.ascx.cs代碼片段 )
           TextBox text = new TextBox();
            text.MaxLength = 12;
            text.Columns = 12;
            text.Text = DateTime.Now.ToShortDateString();
            text.ID = "dateId";
            text.Attributes.Add("onclick", "calendar()");
            text.Attributes.Add("class", "text");

            HtmlImage dateimg = new HtmlImage();
            dateimg.Src = "../CommonImages/cal.gif";
            string JS = string.Format("calendar({0}_{1})",this.ClientID, text.ClientID); //關鍵代碼,按照客戶端ClIEntID的產生規則手工生成。
            dateimg.Attributes.Add("onclick", JS);

以上解決辦法經過1個小時的研究解決,並進行了測試沒有問題


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved