您的位置:首页 > 编程语言 > ASP

asp.net动态加载用户控件

2012-08-16 17:41 567 查看
动态加载的用户控件根据参数是否传递分两种,一种是需要传递参数,另一种是不需要。两种不同的方式,实现形式也不一样,不传参数的简单。

一、不传递参数的加载:

<!-- 在asp.net页面上放PlaceHolder用于存入用户控件-->

<asp:PlaceHolder ID="phControl" runat="server"></asp:PlaceHolder>


// .cs文件加载用户控件

phControl.Controls.Add(TemplateControl.LoadControl("control/TongJiJianChe.ascx"));


二、传递参数的加载:

// 用户控件源码

namespace wzjr.control
{
public partial class Topic : System.Web.UI.UserControl
{

public int FatherTopic
{
get
{
return (int)ViewState["Topic"];
}
set
{
ViewState["Topic"] = value;
}
}

public string FatherName
{
get
{
return ViewState["Name"].ToString();
}
set
{
ViewState["Name"] = value;
}
}

public string Position
{
get
{
return ViewState["position"].ToString();
}
set
{
ViewState["position"] = value;
}
}

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BLL.BLL_Topic bllTopic = new BLL.BLL_Topic();

DataTable dt = bllTopic.GetChild(FatherTopic);

repZhishu.DataSource = dt;

DataBind();

}
}
}
}


// .cs文件源码

wzjr.control.Topic topicControl = (wzjr.control.Topic)LoadControl("control/Topic.ascx");

// 父栏目ID
topicControl.FatherTopic = Topic;

// 父栏目名称
topicControl.FatherName = Name;

// 当前位置
topicControl.Position = position;

phControl.Controls.Add(topicControl);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: