2014-10-02 2 views
1

Уважаемый Stack 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 просто исчезает. Вот моя функция бэкенд Index Page Изменение в любом случае:

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 (отправитель объекта, EventArgs e) { if (! IsPostBack) // Если это первый раз, когда загружается страница с помощью обратной передачи BindGrid(); // Связывание производителей с gridview else { ClientScript.GetPostBackEventReference (это, string.Empty); if (Request.Form ["__ EVENTTARGET"] == "Button2_Click") { // вызов метода btnDelete_Click (это новый EventArgs()); }} }

Можете ли вы сказать мне, что я делаю неправильно или мне точку в правильном направлении, чтобы исправить это, пожалуйста?

ответ

1

удалить EnableSortingAndPagingCallbacks="True" свойства, если вам нужно для преобразования приложений страницы индекса на стороне сервера измененного события или установить его false

+0

Вы заслуживаете большого поцелуя. Mwaaaaaahhhh. Он работает как сон. –

1

Я помню, что это произойдет, если вы установили EnableViewState = false. Сделайте это EnableViewState = true! Если сетка исчезает при каждой обратной передаче, просто поместите привязку в if(!IsPostBack) в метод Page_Load.

+0

EnableViewState уже верно. PageLoad выглядит так: –

+0

protected void Page_Load (отправитель объекта, EventArgs e) { if (! IsPostBack) // Если это первый раз, когда загрузка страницы через обратную передачу BindGrid(); // Связывание производителей с gridview else { ClientScript.GetPostBackEventReference (это, string.Empty); if (Request.Form ["__ EVENTTARGET"] == "Button2_Click") { // вызов метода btnDelete_Click (это новый EventArgs()); } } } –

+0

@SolimanSamirSoliman добавляет метод Page_Load в вопросе, ему будет легче видеть его. – mybirthname

Смежные вопросы