Default.aspx文件    <form id="form1" runat="server">
    <div>
                    <asp:RadioButton ID="Region" Visible="false" GroupName="datacheck" runat="server" Text="洲" AutoPostBack="true" OnCheckedChanged="Region_CheckedChanged" />
            <asp:RadioButton ID="Country" Visible="false" GroupName="datacheck" runat="server" Text="國家"  AutoPostBack="true" OnCheckedChanged="Country_CheckedChanged" />
            <asp:RadioButton ID="Province" Visible="false" GroupName="datacheck" runat="server" Text="省" AutoPostBack="true" OnCheckedChanged="Province_CheckedChanged"/>
            <asp:RadioButton ID="City" Visible="false" GroupName="datacheck" runat="server" Text="城市" AutoPostBack="true" OnCheckedChanged="City_CheckedChanged" />
            <asp:RadioButton ID="Port" Visible="false" GroupName="datacheck" runat="server" Text="港口" AutoPostBack="true" OnCheckedChanged="Port_CheckedChanged" />
                <br />    </div>
    <div>
        <asp:DataGrid ID="MyDataGrid"  runat="server" AllowPaging="True" OnPageIndexChanged="MyDataGrid_PageIndexChanged" AllowSorting="True"  >
            <Columns>
                <asp:EditCommandColumn CancelText="Cancel" EditText="Edit" UpdateText="Update" ButtonType="PushButton"></asp:EditCommandColumn>
                <asp:ButtonColumn ButtonType="PushButton" CommandName="Insert" Text="Insert"></asp:ButtonColumn>
            </Columns>
            <FooterStyle BackColor="#CCCCCC" />
            <SelectedItemStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#CCCCCC" ForeColor="Black" HorizontalAlign="Right" Mode="NumericPages" />
            <ItemStyle BackColor="White" />
            <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
        </asp:DataGrid>
    </div>
    </form>
CS文件:
using System;
using System.Data;
using System.Configuration;
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;
using System.Data.SqlClient;
using System.Collections;public partial class _Default : System.Web.UI.Page 
{    protected void Page_Load(object sender, EventArgs e)
    {
        if (!(Page.IsPostBack))
        {        }
    }
    protected void fn_Datacheck(string cDataname)
    {
        
        String selectCmd = "select  * from " + cDataname ;//動態SELECT語句        //連接數據庫
        SqlConnection myConnection = new SqlConnection ("Data Source=SERVER04;Initial Catalog=takbo2006;Persist Security Info=True;User ID=sa;Password=takbo2006sa");
        SqlDataAdapter myCommand = new SqlDataAdapter(selectCmd, myConnection);
        
        //myCommand.SelectCommand.Parameters.Add(new SqlParameter ("@cDataname", SqlDbType.NVarChar, 2));
        //myCommand.SelectCommand.Parameters["@cDataname"].Value = "基礎表";
        //加載數據ds
        DataSet ds = new DataSet();
        myCommand.Fill(ds, "表名");        //加載數據進MyDataGrid        
        MyDataGrid.DataSource = ds.Tables[0].DefaultView;        
        MyDataGrid.DataBind();
     }      protected void Region_CheckedChanged(object sender, EventArgs e)
    {
        fn_Datacheck("Region");        
    }
    protected void Country_CheckedChanged(object sender, EventArgs e)
    {
        fn_Datacheck("Country");
    }
    protected void Province_CheckedChanged(object sender, EventArgs e)
    {
        fn_Datacheck("Province");
    }
    protected void City_CheckedChanged(object sender, EventArgs e)
    {
        fn_Datacheck("City");
    }
    protected void Port_CheckedChanged(object sender, EventArgs e)
    {
        fn_Datacheck("Port");
    }
 
    protected void MyDataGrid_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
    {        
        //MyDataGrid.CurrentPageIndex =  e.NewPageIndex;
        //MyDataGrid.DataBind();
        
    }           
}問題:每次點分頁的頁數就會重新Load一次頁面,請教達人解決方法!!

解决方案 »

  1.   

    to califord :   不好意思!我這個星期才開始學習NET的,能否具體點說下阿!(或者有具體的代碼參考下)
      

  2.   

    to califord :
       我想我明白了你的意思了,但是現在的問題是這個dataname,怎么獲得   protected void MyDataGrid_PageIndexChanged(object source,DataGridPageChangedEventArgs e)
        {        MyDataGrid.CurrentPageIndex = e.NewPageIndex;
            fn_Datacheck(dataname);    }我試過把dataname設為全局變量,但是沒次PAGE_LOAD后都變為空了.
      

  3.   

    你的语句不应当是这样定的
    将連接數據庫写到方法的外面,就是加到 protected void Page_Load(object sender, EventArgs e)
        {
            if (!(Page.IsPostBack))
            {
               //在这里加入数据绑定字段
               fn_Datacheck(dataname)
               //注意将dataname赋值
            }
        }
    有前面,这样这个链接就全有了
    同时,你的
       protected void MyDataGrid_PageIndexChanged(object source,DataGridPageChangedEventArgs e)这个事件的应当是这样的protected void MyDataGrid_PageIndexChanged(object source,DataGridPageChangedEventArgs e)
        {        MyDataGrid.CurrentPageIndex = e.NewPageIndex;
            //fn_Datacheck(dataname);
            MyDataGrid.DataBind(); //重新绑定数据
        }