如何获取另一个页面中的控件ID
比如我有两个页面a.aspx和b.aspx,我想在a.aspx中回去b.aspx中所有文本框的ID.如何获取?如果b页面是用户控件,可以用loadcontrol来加载,然后获取b页面的控件ID,但是b页面是web窗体.
我想做一个审批的程序,有一个步骤表,每个步骤都保存有在b页面中可以修改值的那个控件ID,比如在步骤一保存有这样一个字符串"txt_a,txt_b,txt_c",在加载b页面的时候,通过循环遍历所有控件,比较ID号,除txt_a,txt_b,txt_c这3个文本框外,其它都设置为readonly,这样达到在特定步骤修改特定字段的值.
可能我这个思路并不是很好,如果无法获取另一个页面的控件,有其他方法达到我的目的也行.
------解决方案-------------------- public class WebData : System.Web.UI.Page
{
public static Model GetData(System.Web.UI.Page p)
{
Model m = new Model();
Type t = m.GetType();
foreach (PropertyInfo pi in t.GetProperties())
{
pi.SetValue(m, ((System.Web.UI.WebControls.TextBox)p.FindControl(pi.Name)).Text, null);
}
return m;
}
public static void SetData(Model m, System.Web.UI.Page p)
{
Type t = m.GetType();
foreach (PropertyInfo pi in t.GetProperties())
{
((System.Web.UI.WebControls.TextBox)p.FindControl(pi.Name)).Text = pi.GetValue(pi.Name, null).ToString();
}
}
}
public class Model
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
private string address;
public string Address
{
get { return address; }
set { address = value; }
}
private string email;
public string Email
{
&nb