怎样在后台调用一个当前页面不存在的用户控件? 创建了一个用户控件WebUserControl,现在要在一个页面中的后台代码中调用它?应该怎么调用? 该用户控件没有被施到页面上,想在后台用代码创建 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个倒没有试过哦,我一直是在前台页面直接注册加载<%@ Register Src="用户控件的URL" TagName="" TagPrefix ="" %> this.Form.Controls.Add(LoadControl(contrilPath)); contrilPath 是用户控件的位置 To:oranrry我在后台的Page_Load执行了this.Form.Controls.Add(LoadControl(contrilPath)); 完成之后,我在前台用javascript调用自定义控件里的对象怎么不能调用哈? 页面上拖一个PlaceHolderControl control = LoadControl("~/MyUserControl.ascx");PlaceHolder1.Controls.Add(control); 。后台生动态生成的控件实在服务器端完成的而前台的javascript实在客户端进行操作执行的域不一样当然不能调用也就是说只有执行以后控件才会生成但是你的javascript执行的时候控件还没有生成 To: oranrry我是在后台的Page_Load执行了 this.Form.Controls.Add(LoadControl(contrilPath)); 这样自定义控件应该在后台创建生成了. 我在前台一个按钮的javascript调用自定义控件里的对象,发现用不了 用你们教的var a=LoadControl("XXXX.ascx");a.ID="XXXX";this.Form.Controls.Add(a);之后,发现用foreach循环都枚举不出a这个控件的ID.说明这个控件根本不存在 用FindControl("XXXX")也找不到控件. 呵呵,我一般是把控件放到一个Div中,把div隐藏,需要的时候再显示出来。 不要再Page_Load()中加载,控件的Render是在page的Init事件里处理的,page_load的时候已经完成了Render了,所以,你的得到了null。动态加载控件的代码(4楼回复的正确)应该写到Page的OnInit事件里。 new 了然后直接调用方法即可 <%@ Page Language="C#" %><%@ Reference Control="~/Controls/Spinner.ascx" %> <script runat="server">private ASP.Spinner Spinner1 protected void Page_Load(object sender, EventArgs e){ Spinner1 = (ASP.Spinner)LoadControl("~/Controls/Spinner.ascx"); }protected void Button1_Click(object sender, EventArgs e){ PlaceHolder1.Controls.Add(Spinner1); }</script><html><head id="Head1" runat="server"> <title>Load User Control Programmatically</title></head><body> <form id="form1" runat="server"> <div> <asp:PlaceHolder runat="server" ID="PlaceHolder1" /> <br /> <asp:Button ID="Button1" runat="server" Text="Click to Add User Control" OnClick="Button1_Click" /> <br /> <br /> <asp:Label ID="Label1" runat="server" Text=""></asp:Label> </div> </form></body> 如何用 sql 或者linq 或其他办法 实现按会员的级别 对商品进行排序? asp.net使用ueditor时怎样给ueditor初始值 如何得到跳转后的URL? 紧急 求 高手 解答 还请教有关弹出窗口的问题??如何获得返回值 关于水晶报表分组的问题(急,急) 奇怪的未将对象引用设置到对象的实例? 连数据库的简单问题(在线求助) 求asp.net下的文本编辑器控件 谁能提供使用DATAGRID的例子程序? 水晶報表列印問題 web列印 怎么实现GridView中的checkbox事件
<%@ Register Src="用户控件的URL" TagName="" TagPrefix ="" %>
this.Form.Controls.Add(LoadControl(contrilPath)); contrilPath 是用户控件的位置
我在后台的Page_Load执行了
this.Form.Controls.Add(LoadControl(contrilPath));
完成之后,
我在前台用javascript调用自定义控件里的对象怎么不能调用哈?
PlaceHolder1.Controls.Add(control);
后台生动态生成的控件实在服务器端完成的
而前台的javascript实在客户端进行操作
执行的域不一样当然不能调用也就是说只有执行以后控件才会生成
但是你的javascript执行的时候控件还没有生成
我是在后台的Page_Load执行了
this.Form.Controls.Add(LoadControl(contrilPath)); 这样自定义控件应该在后台创建生成了. 我在前台一个按钮的javascript调用自定义控件里的对象,发现用不了
var a=LoadControl("XXXX.ascx");
a.ID="XXXX";
this.Form.Controls.Add(a);
之后,发现用foreach循环都枚举不出a这个控件的ID.说明这个控件根本不存在
<%@ Reference Control="~/Controls/Spinner.ascx" %>
<script runat="server">
private ASP.Spinner Spinner1
protected void Page_Load(object sender, EventArgs e)
{
Spinner1 = (ASP.Spinner)LoadControl("~/Controls/Spinner.ascx");
}protected void Button1_Click(object sender, EventArgs e)
{
PlaceHolder1.Controls.Add(Spinner1);
}
</script><html>
<head id="Head1" runat="server">
<title>Load User Control Programmatically</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:PlaceHolder runat="server" ID="PlaceHolder1" />
<br />
<asp:Button ID="Button1" runat="server"
Text="Click to Add User Control"
OnClick="Button1_Click" />
<br />
<br />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</div>
</form>
</body>