外部 Java 脚本中用户控件的文本框 ID

textbox id of user control in external java script

本文关键字:文本 ID 控件 用户 Java 脚本 外部      更新时间:2023-09-26

我正在动态地制作用户控件。

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。

试试这个$get("<%=lblDistance.ClientID%>")

客户端

ID 可以在 ClientID 属性中找到。 例如,您可以在.aspx页中使用 jQuery 隐藏名为 txtDistance 的控件,如下所示:

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

如果您使用的是 .net 4.0,请将 ClientIDMode="Static"> 添加到您的控件中。

像这样:

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

对于以前版本的 .net,因为您使用的是外部 javascript,所以您有两个选择

  1. 使用隐藏的输入来存储客户端 ID 的
  2. 查看页面生成的 HTML,并在外部 JavaScript 中使用这些 Id

我已经解决了这个问题,我只是使用 javascriptserializer 来获取动态控件的客户端 ID 它非常好的方法,因为 RegisterCLientScript 是一个方法,它从页面上的 JavaScript 序列化程序写入字符串,然后你可以很容易地获得你想要的动态控件的 ID,s