asp.net multiview控件如何自动添加view

作者:4lert

asp.net的multiview控件提供了一个展示多个panle但只在一个显示一个panle的作用。

具体显示那个是由控件的ActiveViewIndex控制的。默认是0。

有时候我们需要在后台动态的创建出我们View。直接给出代码。简单的东西,废话不多说了。

前台需要有一个ID为test的multiview控件。

 

using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{

    
protected override void OnPreInit(EventArgs e)
    {
        createView();
        
base.OnPreInit(e);
    }

    
protected void Page_Load(object sender, EventArgs e)
    {

    }

    
private void createView()
    {
        
for (int i = 0; i < 3; i++)
        {
            View view 
= new View();
            view.ID 
= "view1"+i.ToString();
            Button button 
= new Button();
            button.ID 
= "btn" + i.ToString();
            button.Text 
= "btn"+i.ToString();
            button.Click 
+= new EventHandler(button_Click);
            view.Controls.Add(button);
            test.Controls.Add(view);
        }
    }

    
void button_Click(object sender, EventArgs e)
    {
        
if ((int)this.test.ActiveViewIndex < 2)
        {
            
this.test.ActiveViewIndex++;
        }
        
else
        {
            Response.Write(
"没了!");
        }
    }
}

 

如果该程序在母版页中,可能出现找不到multiview控件。那么可以尝试使用Page.Master.FindControl("")一级一级的往下面找即可。

posted @ 2009-02-09 15:26  4lert  阅读(1485)  评论(0编辑  收藏  举报