У меня есть RadGrid, который на RowClick должен отправить определенное значение серверу. Из-за характера страницы все события обрабатываются на стороне сервера. Мой -Radgrid1- использует по умолчанию «выберите» весь sqldatasource при первом доступе к странице, а затем вы можете фильтровать элементы RadGrid1, щелкнув другой RadGridAnother. который также имеет список различных категорий.Элементы управления не обновляются после RadGrid ItemCommand() выполняется
Что происходит: 1. Строка нажата 2. выполняется radgrid1_ItemCommand (..., ...).
Код Ниже изменен на фактический после Edit:
protected void MenuKampionati_ItemClick(object sender, RadMenuEventArgs e)
{
Case = 2;
Arg1 = "%%";
Arg2 = e.Item.Value;
string query = "EXECUTE get_ndeshje_kot31 " + Case.ToString() + ", '" + Arg1 + "', '" + Arg2 + "', 0";
SqlDataSource MyDataSource = new SqlDataSource(ConfigurationManager.ConnectionStrings["basteConnectionString"].ConnectionString, query);
this.GridNdeshjet.DataSource = MyDataSource;
this.GridNdeshjet.DataBind();
}
3. Страница «освежают» и RadGrid1 имеет старые значения в нем + метка имеет стандартный текст теста.
Я прочел все API Telerik по этому вопросу и попробовал решения previuos впустую. Есть ли что-то, что мне не хватает? или забыть делать? Кто-нибудь знает, почему это может произойти?
Что касается AJAX, мой менеджер дал указание мне не на «AJAX» на этой странице. Надеюсь, мой английский достаточно хорош для этой проблемы.
Редактировать: У меня есть PM о моем запросе, я уже тестировал его в студии управления sqlserver и полностью функциональен. Теперь я добавляю aspx-код div, который содержит эти элементы управления, вне которых есть метки, некоторые aspbutton и ничего больше не связаны с содержимым этого div.
Second Edit, Previous Grids были изменены на RadMenu. Codebehind все тот же, только что связанный с новым меню.
<div>
<table>
<tr>
<td><asp:UpdatePanel ID="panelGetTeGjitha" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false" >
<ContentTemplate>
<telerik:RadMenu ID="MenuKategoria" runat="server" DataSourceID="GetKategoriaDataSource"
DataTextField="kategoria" DataValueField="vlera" Flow="Vertical"
DataFieldID="kategoria"
onitemclick="MenuKategoria_ItemClick">
</telerik:RadMenu>
<asp:SqlDataSource ID="GetKategoriaDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:basteConnectionString %>"
SelectCommand="Get_Kategorite" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:SessionParameter DefaultValue="0" Name="Country" SessionField="country"
Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
</ContentTemplate>
</asp:UpdatePanel></td>
<td><asp:UpdatePanel ID="panelGetKampionati" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false" >
<ContentTemplate>
<telerik:RadMenu ID="MenuKampionati" runat="server" DataSourceID="GetKampionatiDataSource"
DataTextField="kampionati" DataValueField="kampionati" Flow="Vertical"
DataFieldID="kategoria" onitemclick="MenuKampionati_ItemClick" >
</telerik:RadMenu>
<asp:SqlDataSource ID="GetKampionatiDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:basteConnectionString %>" SelectCommand="SELECT kampionati FROM ndeshje (NOLOCK)
WHERE ((data > getdate() and ndeshje_id_live IS NULL) OR (data < getdate() AND data_hapjes > getdate() AND ndeshje_id_live IS NOT NULL))
AND bllokuar = '0' AND live = 0
GROUP BY kampionati ORDER by kampionati"></asp:SqlDataSource>
<telerik:RadGrid ID="GridNdeshjet" runat="server" GridLines="None"
onneeddatasource="GridNdeshjet_NeedDataSource1">
</telerik:RadGrid>
</ContentTemplate>
</asp:UpdatePanel></td>
<td><asp:UpdatePanel ID="panelGetNdeshje" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false" >
<ContentTemplate>
<telerik:RadMenu ID="MenuNdeshjeLive" runat="server" DataSourceID="GetNdeshjeLiveDataSource"
DataTextField="Home" DataValueField="Home" Flow="Vertical"
DataFieldID="Home" onitemclick="MenuKampionati_ItemClick" >
</telerik:RadMenu>
<asp:SqlDataSource ID="GetNdeshjeLiveDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:basteConnectionString %>" SelectCommand="SELECT MAX(Home) AS Home, MAX(Away) AS Away FROM ndeshje (NOLOCK)
WHERE(Data < getdate() AND data_hapjes > getdate() AND ndeshje_id_live IS NOT null AND live = 1)
AND bllokuar = '0' GROUP BY Home, Away ORDER BY Home, Away"></asp:SqlDataSource>
</ContentTemplate>
</asp:UpdatePanel></td>
</tr>
</table>
Здравствуйте Jayesh, спасибо за ответ. После того, как я увидел ваш ответ, я заметил, что мои две сетки были в разных версиях UpdatePanel, но я поместил их оба в один UpdatePanel, запустил тест, но он не сработал. НО, но я должен добавить, что после перемещения их в том же UpdatePanel, после того, как PostBack RadGrid1 имел старые значения, я случайно нажал кнопку обновления и на этот раз показал мне отфильтрованные данные. Я думаю, что мне не хватает какой-либо настройки здесь, любая идея? – stevenll
Не могли бы вы предоставить свой код страницы aspx? Таким образом, мы сможем решить проблему. –
Я обновил код выше, я оставил сетку, которую хочу обновить на той же самой UpdatePanel, что и RadMenu (сейчас), которая должна его обновить. – stevenll