0

我想从后面的代码中注册(或引用)并以编程方式处理 UserControl。我搜索了很多,但没有找到注册或引用 UserControl 的有用解决方案。

编辑:

我做了如下:

ASPX 页面:

<%@ Reference Control="~/ucContents.ascx" %>

ASPX 页面后面的代码:

    Control Contents1 = null;
    try
    {
        Contents1 = LoadControl("~/ucContents.ascx");
        if (Contents1 != null)
        {
           ((ucContents)Contents1).CatID = Request.QueryString["catid"];
        }
    }
    catch
    { }

我想知道是否可以动态地在''code behind''处进行参考工作(<%@ Reference Control="~/ucContents.ascx" %>)?

4

1 回答 1

3

是的,您可以像发布的方式一样动态加载UserControl-

try {
    var ucContents = LoadControl("~/ucContents.ascx") as ucContents;    
    PlaceHolder1.Controls.Add(ucContents);
    ucContents.CatID = Request.QueryString["catid"];
}
....

注意:如果是动态加载,则不需要Reference在父页面的 aspx 中添加标签。

于 2013-03-18T17:30:28.130 回答