在我们的一个页面上,我们有一个表,其中包含在运行时生成的行。我想将这些行的内容移到它们自己的控件中,并在运行时在其上设置属性,以便将演示文稿与代码隐藏分开。但它没有按我预期的方式工作。
如果我的行控件继承自 UserControl,那么我可以这样做以在运行时创建控件:
MyControl row = (MyControl)LoadControl("~/controls/MyControl.ascx");
然后,我想将其添加到我的表中:
MyTable.Rows.Add(row);
但是行不继承自 System.Web.UI.HtmlControls.HtmlTableRow 或 System.Web.UI.WebControls.TableRow,所以你不能这样做。但是,如果我让我的控件继承自这两者之一,那么上面的 LoadControl 调用会抱怨该控件不继承自 UserControl。
这里有什么快乐的解决方案?如果需要更多信息,请询问。