【发布时间】:2010-09-02 18:13:06
【问题描述】:
我正在使用 LoadControl("src to file") 将控件动态加载到页面。
在用户控件中,我有一个验证器和一些我想从我的页面访问的其他控件。我不能让它工作,空指针异常。
场景是这样的。我有一个加载 EditTemplate.ascx 用户控件的 Edit.aspx 页面。我想从 Edit.aspx 站点获取信息或在 EditTemplate 中查找控件。
我尝试将控件和验证器公开为属性,但如何从我的 Edit.aspx 访问它们?
示例代码:
Edit.aspx,该控件后来添加到一个
Control control = LoadControl("src to ascx");
TemplatePlaceHolder.Controls.Add(control);
EditTemplate.ascx
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="CompanyImageFile" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
代码隐藏
public partial class EditTemplate : System.Web.UI.UserControl, IEditTemplate {
public RequiredFieldValidator Validator {
get { return this.RequiredFieldValidator1; }
set { this.RequiredFieldValidator1 = value; }
}
我想从 Edit.aspx 站点检查验证器的 isValid 属性。 Isvalid 在 Save 方法中设置。
保存模板的保存按钮位于 edit.aspx 中,因此从该页面完成发布。
所以问题是如何从edit.aspx页面中的用户控件中获取属性,应该在哪里以及如何做到这一点?
再次感谢。
【问题讨论】:
标签: asp.net user-controls