简体   繁体   English

通过ScriptControlDescriptor将控件的ID传递给javascript

[英]Passing control's ID to javascript via ScriptControlDescriptor

I create a control in CreateChildControls(): 我在CreateChildControls()中创建一个控件:

HtmlGenericControl mycontrol= HtmlGenericControl("li");
mycontrol.ID = "controlID";

controlId = mycontrol.ID;


protected virtual IEnumerable<ScriptDescriptor> GetScriptDescriptors()
{
        ScriptControlDescriptor descriptor = new ScriptControlDescriptor("Project.TEditor", this.ClientID);                   

        descriptor.AddProperty("controlId", controlId);           
        return new ScriptDescriptor[] { descriptor };          
}

Then in javascript i try to find this control using the ID property: 然后在javascript中,我尝试使用ID属性找到此控件:

 alert($get(this.get_controlId()));

I get null because the actual control ID has a prefix that was added by asp. 我得到空值,因为实际的控件ID具有由ASP添加的前缀。

How to solve that? 怎么解决呢?

Try mycontrol.ClientID instead of mycontrol.ID for client side reference : 尝试使用mycontrol.ClientID代替mycontrol.ID作为客户端参考:

// At CreateChildControls : 
HtmlGenericControl mycontrol= HtmlGenericControl("li");
mycontrol.ID = "controlID";

// After you add your control to page (Page.Controls.Add(myControl)) : 
controlId = mycontrol.ClientID;

protected virtual IEnumerable<ScriptDescriptor> GetScriptDescriptors()
{
        ScriptControlDescriptor descriptor = new ScriptControlDescriptor("Project.TEditor", this.ClientID);                   

        descriptor.AddProperty("controlId", controlId);           
        return new ScriptDescriptor[] { descriptor };          
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 从后面的代码将控制 ID 传递给 javascript - Passing control id to javascript from code behind 通过传递参数来捕获javascript函数中的控件ID - capture the control ID in a javascript function, by passing parameter 将.net按钮控件ID传递给javascript函数 - Passing a .net button control Id to a javascript function 在ASP.net Listview中获取多个控件ID的值,并将其传递给JavaScript - Getting values of Multiple Control ID's in ASP.net Listview and passing it to JavaScript 从aspx文件将html控件ID传递给javascript - Passing html control id to javascript from aspx file 在背后的代码中通过函数调用传递客户端ID时,无法通过aspx页面上的javascript函数访问字段的值(页面加载) - Unable to access a field's value via javascript function on aspx page on passing client id from function call in code behind(page load) 如何将控件的ID传递到外部javascript文件? - How to pass control's ID into an external javascript file? css id选择器vs元素id选择器通过JavaScript控制样式 - css id selector vs element id selector to control style via JavaScript 将控制作为参数传递给javascript函数 - Passing control as parameter to javascript function 尝试通过列表框删除成员-如何通过成员ID调用删除函数? - Trying to delete members via a listbox - how to call my delete function passing the member's id?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM