动态加载的用户控件根据参数是否传递分两种,一种是需要传递参数,另一种是不需要。两种不同的方式,实现形式也不一样,不传参数的简单。
一、不传递参数的加载:
<!-- 在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);
本文详细介绍了动态加载用户控件的两种方式:不传递参数与传递参数,并通过示例代码说明了每种方式的具体实现步骤与区别。
2129

被折叠的 条评论
为什么被折叠?



