2011-12-19 47 views
2

我正在動態地進行用戶控件。外部java腳本中的用戶控件的文本框標識

var controlMarkup = string.Empty; 
Page page = new Page(); 
var customControl = page.LoadControl(control) as UserControl; 
if (customControl != null) 
{ 
    var htmlForm = new HtmlForm(); 
    var output = new StringWriter(); 
    //output.Write("<div id = 'ControlName'>" + customControl + "</div>"); 
    htmlForm.Controls.Add(customControl); 
    page.Controls.Add(htmlForm); 
    HttpContext.Current.Server.Execute(page, output, false); 
    controlMarkup = output.ToString(); 
} 
return controlMarkup; 

螺母現在我想獲得用戶控件在外部JavaScript的文本框ID任何人都可以幫助我得到控制的ID。

回答

0

我已經得到了這個問題的解決方案,我只是使用javascriptserializer來獲取動態控件的客戶端ID,這是非常好的方法,因爲RegisterCLientScript是一種方法,它可以從頁面上的JavaScript Serializer中寫入字符串,然後你可以很容易地獲得你想要的ID ,動態控制

1

客戶端ID可以在ClientID屬性中找到。例如,您可以隱藏在.aspx頁面像使用jQuery控制稱爲txtDistance

$('#<%= lblDistance.ClientID %>').hide(); 
+0

外部Java腳本不工作的是親愛的 –

2

試試這個$get("<%=lblDistance.ClientID%>")

+0

它在外部Java腳本 –

+0

不工作你說的「外部」是什麼意思?你不能在.js文件中使用它! – Maysam

0

如果您使用的是.NET 4.0中添加的ClientIDMode =「靜態」到您的控制。

喜歡的東西:

yourControlname.Attributes.Add("ClientIDMode", "Static"); 

對於以前版本的.NET的,因爲你正在使用外部JavaScript,你有兩個選擇

  1. 使用隱藏的輸入存儲的clientId的
  2. 查看HTML所生產您的網頁並在外部使用這些標識的JavaScripts