我正在动态制作用户控件。
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 :(得分:2)
试试这个$get("<%=lblDistance.ClientID%>")
答案 1 :(得分:1)
客户端ID可以在ClientID
属性中找到。例如,您可以在txtDistance
页面中使用jQuery隐藏名为.aspx
的控件,如:
$('#<%= lblDistance.ClientID %>').hide();
答案 2 :(得分:0)
如果您使用的是.net 4.0,请将 ClientIDMode =“静态”添加到您的控件中。
类似的东西:
yourControlname.Attributes.Add("ClientIDMode", "Static");
对于以前版本的.net,因为您使用的是外部JavaScript,所以您有两个选项
答案 3 :(得分:0)
我已经得到了这个问题的解决方案我只是使用javascriptserializer来获取动态控件的客户端id非常好的方法,因为RegisterCLientScript是一个从页面上的JavaScript Serializer写入字符串的方法然后你很容易得到你的期望的ID,动态控制的