我正在开发一个 ASP.NET 自定义控件,目前面临一些问题,例如在同一页面/表单 .net 上多次使用自定义控件中所问的问题。
我在这里看到的不同之处在于我的控件在项目中嵌入了 javascript 和图像,并将被编译为单个 dll。
在命名空间CustomControl
中,我有:
public class myControl: TextBox
{
protected override void OnPreRender(EventArgs e)
{
string strJS = "//my Javascript initialization codes";
base.OnPreRender(e);
CustomControl.myControl.Include_ScriptFile(Page.ClientScript); // Refers external JS file added as a web resource in the AssemblyInfo file
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "CreateControl", strJS, true); // add the JS initialization code for the control on the page
}
}
我的 ASPX 页面在其他项目中的代码(这两个项目已经被引用)
<cc1:myControl ID="cControl1" runat="server" Width="100%"/>
<cc1:myControl ID="cControl2" runat="server" Width="100%"/>
第一个控件呈现良好,但第二个控件不呈现。我可以在萤火虫中看到没有添加第二个控件的 JS 初始化,这使得第二个控件已过时。那么,如何让它也为第二个控件添加初始化代码。