TabContainer的OnActivetabChanged用法和fineuipro一些技术

TabContainer的OnActivetabChanged用法

 

//测评综合定专业,只有选择了批次才可以进入,而且本科和专科内容不能同时选,让界面整洁而且无失误

            //下面代码没有执行,放入form_load测试--20230722-处理中

            //测试代码执行

            //aspnetajaxjavascript.Msg(this.UpdatePanel_ks_yjtb, TabContainer_yjtb.ActiveTabIndex.ToString(), "2", "2000");

            //this.UpdatePanel_ks_yjtb.Update();

            // return;

            //知识点:asp.net 事件执行顺序,控件事件激发后,首先执行form_load,然后才是该控件事件的代码。例如这里:

            //激发了事件,执行form_load,而form_load中TabContainer_yjtb.ActiveTabIndex=0,则下面的代码不会被执行,因为TabContainer_yjtb.ActiveTabIndex=0了

            //而不是当前的测评综合定专业的页面索引2,只需要把 if (TabContainer_yjtb.ActiveTabIndex==2)这个条件去掉就可以了

            //另外的fineuipro是内置了asp.net ajax,单击了控件事件,不会引发form_load,而且asp.net原生控件事件不执行fineuipro属性代码方法,但是

             //asp.net的form_load中可以执行asp.net原生控件和fineuipro控件属性方法等

在前台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: 下面的处理办法是错误的,因为tabcontainer的属性autopostback是false,改为true搞定

        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();

        }

    }

}

转载于:https://www.cnblogs.com/hainange/archive/2011/07/19/6153592.html

渝公网安备 50011902000225号

渝ICP备18008233号-1