Load user control dynamically with parameters
我已经创建了一个用户控件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | public partial class Controls_pageGeneral : System.Web.UI.UserControl { private int pageId; private int itemIndex; public int PageId { get { return pageId; } set { pageId = value; } } public int ItemIndex { get { return itemIndex; } set { itemIndex = value; } } protected void Page_Load(object sender, EventArgs e) { // something very cool happens here, according to the values of pageId and itemIndex } } |
现在我想动态创建这个控件并传递参数。
我尝试过使用
第一种方法可行,但由于我的参数,必须使用更复杂的方法
在您的情况下,这无关紧要,因为第二种方法接受传递给正确构造函数的参数,但您根本没有构造函数来控制。
只需使用
1 2 3 | Controls_pageGeneral myControl = (Controls_pageGeneral)Page.LoadControl("path here"); myControl.PageId = 1; myControl.ItemIndex = 2; |
如果你坚持使用构造函数,首先添加这样的:
1 2 3 4 | public Controls_pageGeneral(int pageId, int itemIndex) { //code here.. } |
然后:
将执行与上述相同的操作,因为运行时代码将寻找接受两个整数的构造函数并使用它。