TabContainer的OnActivetabChanged用法

在前臺TabContainer添加事件
OnActivetabChanged="TabContainer1_ActiveTabChanged"


後臺代碼在OnActivetabChanged事件中執行GridView的綁定事件

        protected void TabContainer1_ActiveTabChanged(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
            GridView1.DataSource = GetData(ds).Tables["Table_VIP"];
            GridView1.DataBind();
        }


 

注意,需要在Page_Load方法裏調用該事件,否則在切換Tab的時候是沒有反應的,因爲它不會postback

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.TabContainer1_ActiveTabChanged(sender, e);
            }
        }


 

完整代碼如下

前臺

<%@ Page Title="主頁" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeBehind="Default.aspx.cs" Inherits="AccessRemoteData._Default" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<%@ Register TagPrefix="UC1" TagName="Control1" Src="~/WebUserControl1.ascx" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    
    <asp:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="0" 
        OnActivetabChanged="TabContainer1_ActiveTabChanged">

        <asp:TabPanel runat="server" HeaderText="TabPanel1" ID="TabPanel1">
        <ContentTemplate>
            <UC1:Control1 ID="userControl1" runat="server" />
        </ContentTemplate>
        </asp:TabPanel>

        <asp:TabPanel runat="server" HeaderText="TabPanel2" ID="TabPanel2">
        <ContentTemplate>
            <asp:GridView ID="GridView1" runat="server">
            </asp:GridView>
        </ContentTemplate>
        </asp:TabPanel>
    </asp:TabContainer>
</asp:Content>


 

後臺

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

namespace AccessRemoteData
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.TabContainer1_ActiveTabChanged(sender, e);
            }
        }

        private DataSet GetData(DataSet ds)
        {
            string sqlConn = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString;
            SqlConnection conn = new SqlConnection(sqlConn);
            conn.Open();
            string strSQL = "SELECT * FROM Table_VIP";
            SqlDataAdapter adpt = new SqlDataAdapter(strSQL, conn);
            adpt.Fill(ds, "Table_VIP");
            return ds;
        }

        protected void TabContainer1_ActiveTabChanged(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
            GridView1.DataSource = GetData(ds).Tables["Table_VIP"];
            GridView1.DataBind();
        }
    }
}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章