我有一些控制类,里面有一些额外的方法。我有多个表单usercontrols,FormChoosePage有下拉列表,其中有表单列表,我选择表单用户控件,加载其数据,点击保存按钮后我调用表单保存方法。
at btnSave_Click ucForm为null,我有2个问题;
1)如何动态修改UserControl(查看状态或其他内容?)
2)我是否正确地使用通用用户控件和所有内容来执行此操作。如果不是,你在想什么?
FormControler
public class Controler : UserControl
{
public virtual void PageLoad() { }
public virtual void SaveForm() { }
}
表格UC
public partial class ApplicationForm : Controls.Controler
{
public override void PageLoad()
{
ddlFormType.DataSource = [Data];
ddlFormType.DataBind();
}
public override void SaveForm()
{
XForm form = new XForm();
form.something = txtSomething.Text;
form.Save();
}
}
表单选择页面
public partial class FormChoosePage: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddlFormLoad();
}
}
Controler ucForm;
protected void ddlForm_SelectedIndexChanged(object sender, EventArgs e)
{
XForm form = XForm.Get<XForm>(ddlForm.SelectedValue);
ucForm = this.LoadControl(form.URL) as Controler;
ucForm.ID = "ucForm";
ucForm.PageLoad();
}
protected void btnSave_Click(object sender, EventArgs e)
{
ucForm.SaveForm();
}
}