如何在ASP.NET中呈现带有参数的UserControl
本文关键字:参数 UserControl ASP NET | 更新日期: 2023-09-27 18:13:47
我使用以下代码来渲染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
一些参数,所以它应该在渲染之前获取数据并更新其属性
怎么做呢?谢谢你!
答案如下:
只需使用.ascx文件的路径加载控件,转换为正确的类型并逐个设置属性:
MyControl myControl = (MyControl )Page.LoadControl("~/path_to_control.ascx");
myControl.Param1= 1;
myControl.Param2= 2;
myControl.RenderControl(h)
或:
Page.LoadControl(typeof(MyControl), new object[] {1, 2}).RenderControl(h);