foreach(PageView pv in MultiPage1.Controls)
{
   foreach(Control cl in pv.Controls)
      {
         if (cl.GetType().ToString().Equals("System.Web.UI.WebControls.DataList"))
.....
....
搂主的问题关键还是定位DATAGRID,DATALIST,TEXTBOX,LABEL这些控件
上面是个循环,方法差不多1假设是DataGrid
DataGrid dg=(DataGrid)(MultiPage1.Controls[1].Controls[1].........)
关键是定位好是哪个pageview上的control,是paveview上的第几个control,
2一样
3
TextBox tb1=(TextBox)(MultiPage1.Controls[1].Controls[1].........)
TextBox tb2=(TextBox)(MultiPage1.Controls[2].Controls[1].........)
tb2.Text=tb1.Text

解决方案 »

  1.   

    谢谢楼上的回答,看来如果真的这么写代码的话,也是挺麻烦的。我现在用的方法就是 在每一个 PAGEVIEW 中 放一个 USERCONTROL ,这样各个功能就在 USER CONTROL 中进行操作,而PAGEVIEW 就是起到了一个显示的功能而已。至于在不同 PAGEVIEW 中进行通讯,传递 参数等等,我还没完全想好用何种方式实现,大家对此有何意见?也请指出我用 USER CONTROL 放在 PAGEVIEW 中的不足之处。
      

  2.   

    这是我当初使用MultiPage留下的笔记使用MultiPage,如果不使用CodeBehind方式,即后台代码也写在aspx页里,可以直接引用PageView里的控件。
    如果你采取CodeBehind方式
    MultiPage1.Controls是MultiPage里PageView的集合
    MultiPage1.Controls[ind].Controls是PageView里控件的集合
    可以用FindControl找到所需控件
    也可以用索引直接定位ListBox lb=(ListBox)MultiPage1.Controls[1].Controls[1];
    然后就可以赋值
    利用事件,我用的是笨办法,直接在控件里定义响应事件
    <asp:dropdownlist id="dl" runat="server" OnSelectedIndexChanged="dl_SelectedIndexChanged" AutoPostBack="True">
    然后再在后台cs文件里写出响应事件
    public void dl_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    }