2014-10-02 115 views
1

親愛的堆棧Overflowers頁碼不會被調用,PageIndexChanging功能時,我改變gridview的

我在前端頁面中的GridView和在這裏它是在asp.net代碼:

<asp:GridView ID="grdManufact" runat="server" AutoGenerateColumns="False" 
    BackColor="White" BorderColor="#336666" BorderStyle="Double" BorderWidth="3px" CellPadding="4" 
    GridLines="Horizontal" AllowPaging="True" OnRowDataBound="manufGridView_RowDataBound"        EnableModelValidation="False" EnableSortingAndPagingCallbacks="True" HorizontalAlign="Center" OnSelectedIndexChanged="grdManufact_SelectedIndexChanged" OnPageIndexChanging="grdManufact_PageIndexChanging"> 
    <Columns> 
     <asp:BoundField DataField="SrNo" HeaderText="SrNo" /> 
    <asp:BoundField DataField="Manufacturer" HeaderText="Manufacturer" /> 
    <asp:BoundField DataField="Description" HeaderText="Description" /> 
    <asp:BoundField DataField="isModerated" HeaderText="Approved" /> 
    <asp:BoundField /> 

好這是它的主要部分,但它顯示正確,並在頁面加載時正確綁定。 每當我將頁面更改爲頁面2或3或任何gridview時,我的gridview消失!我曾嘗試在PageIndexChanging函數中放置一個斷點,但沒有達到斷點,這告訴我該事件甚至沒有觸發,但gridview消失。這裏是我的後臺功能頁面索引更改反正:

protected void grdManufact_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
    grdManufact.PageIndex = e.NewPageIndex; 
    BindGrid(); 
} 

,並用於電網綁定BindGrid()函數:

public void BindGrid() 
{ 
    string strConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString2"].ToString(); 
    SqlConnection conn = new SqlConnection(strConnectionString); // Connect to database 
    conn.Open();             // Open Connection 
    string com = "select ManufacturerID as SrNo, ManufacturerName as Manufacturer,  ManufacturerDescription as Description,isModerated From VehicleManufacturer"; 
    SqlDataAdapter adpt = new SqlDataAdapter(com, conn); // Select all manufacturers in the table 
    DataTable dt = new DataTable();         // Create a new Data Table 
    adpt.Fill(dt);             // Fill it with manufacturers 
    grdManufact.DataSource = dt; // Make the datasource of the manufacturer grid the new table 
    grdManufact.DataBind();           // Bind data for the grid 
    conn.Close();          // Close database connection. Disconnect 
} 

這裏如果你想太我的頁面加載:

protected void Page_Load(object sender,EventArgs e) if(!IsPostBack)//如果這是第一次通過回發加載頁面 BindGrid(); //將製造商綁定到gridview else ClientScript.GetPostBackEventReference(this,string.Empty); (Request.Form [「__ EVENTTARGET」] ==「Button2_Click」) { //調用方法 btnDelete_Click(this,new EventArgs()); } } }

你能告訴我我做錯了什麼或指向我在正確的方向來解決這個問題嗎?

回答

1

刪除EnableSortingAndPagingCallbacks="True"財產,如果你需要EXCUTE服務器端頁面索引改變事件或將其設置false

+0

你應該得到一個大吻。 Mwaaaaaahhhh。它像夢一樣運作。 – 2014-10-02 03:56:14

1

我記得如果您設置了EnableViewState = false,會發生這種情況。做它EnableViewState = true!如果網格在每次回發中消失,只需在Page_Load方法中將綁定放入if(!IsPostBack)即可。

+0

的EnableViewState已經成爲事實。 PageLoad看起來像這樣: – 2014-10-02 03:43:52

+0

protected void Page_Load(object sender,EventArgs e) if(!IsPostBack)//如果這是第一次通過回發加載頁面 BindGrid(); //將製造商綁定到gridview else ClientScript.GetPostBackEventReference(this,string.Empty); (Request.Form [「__ EVENTTARGET」] ==「Button2_Click」) { //調用方法 btnDelete_Click(this,new EventArgs()); } } } – 2014-10-02 03:45:10

+0

@SolimanSamirSoliman在問題中添加Page_Load方法,其他人可以更容易地看到它。 – mybirthname 2014-10-02 03:46:05