如何在ASP.NET中使用参数呈现UserControl

时间:2016-10-18 14:05:10

标签: c# asp.net user-controls

我使用以下代码呈现UserControl

//render control to string
StringBuilder b = new StringBuilder();
HtmlTextWriter h = new HtmlTextWriter(new StringWriter(b));
this.LoadControl("~/path_to_control.ascx").RenderControl(h);
string controlAsString = b.ToString();

但我希望传递给UserControl一些参数,以便在呈现之前获取数据并更新其属性

怎么做? 谢谢!

1 个答案:

答案 0 :(得分:1)

回答here

  

只需使用.ascx文件的路径加载控件,转换为正确的类型并逐个设置属性:

MyControl myControl = (MyControl )Page.LoadControl("~/path_to_control.ascx");
myControl.Param1= 1;
myControl.Param2= 2;
myControl.RenderControl(h)

OR:

Page.LoadControl(typeof(MyControl), new object[] {1, 2}).RenderControl(h);