2013-04-29 8 views
0

Я создал пользовательский элемент управления с gridview, в котором есть другое gridview в нем, в живой демонстрации он работает, но не тогда, когда я его пробую.Пейджинг вообще не работает

<asp:GridView ID="GridView1" runat="server" DataKeyNames="ID" AutoGenerateColumns="false" CellPadding="5" 
    OnRowDataBound="GridView1_RowDataBound" Width="800px" AllowPaging="True" PageSize="5" GridLines="Horizontal" 
    OnPageIndexChanging="GridView1_PageIndexChanging" EnableViewState="true"> 

затем в коде позади его

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
    GridView1.PageIndex = e.NewPageIndex; 
    BindData(); 
} 

private void BindData() 
{ 
    using (SqlDataSource SQLds = new SqlDataSource(ConnectionString(), Command())) 
    { 
     GridView1.DataSource = SQLds; 
     GridView1.DataBind(); 
    } 
} 

Но он говорит (1 клик ничего не происходит, продолжайте нажимать потом приходит эта ошибка)

enter image description here

Я прошел через тысячи сообщений но не работал для меня

Редактировать

Нет web.config, и я уже пробовал первые 5 страниц результата Google, используя 10 типов ключевых слов и ошибок, поэтому, если вы не уверены, я буду плакать!

ответ

0

Я исправил проблему, поставив GridView в панели обновления. С тех пор он работал отлично.

0

В вашем web.config вы можете добавить следующую

<system.web> 
    <httpRuntime requestValidationMode="2.0" /> 
    <pages enableEventValidation="false" validateRequest="false"></pages> 
</system.web> 

Это должно отключить вашу проверку запроса.

UPDATE

Вы можете установить те же вещи, на странице, что с помощью пользовательского элемента управления.

В верхней части страницы вы увидите объявление <%@ Page. Поместите это внутри;

EnableEventValidation="false" ValidateRequest="false"

+0

Обратите внимание, что это быстрый и грязный способ избавиться от ошибки и показать, работает ли пейджинг. Вы все равно должны потратить время, чтобы выяснить, что такое проверка событий отключения, а затем повторно использовать эту настройку. Вы также можете установить это на уровне страницы (вероятно, лучше, чем в приложении), используя свойства EnableEventValidation и ValidateRequest в директиве @Page. – Rakuen42

+0

Нет web.config, это UserControl sir – Mathematics

+0

@ user13814 - у вас есть web.config для сайта, который использует элемент управления, не так ли? Либо это, либо установите 'EnableEventValidation =" false "ValidateRequest =" false "' в объявлении страницы, использующем пользовательский элемент управления. – Darren

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