#c# #asp.net #telerik
#c# #asp.net #telerik
Вопрос:
Я вроде как новичок в c # и я вроде как новичок в telerik. У меня такая проблема:
Я открываю окно telerik нажатием кнопки, а затем нажатием кнопки, размещенной в окне telerik, я хочу обновить сетку (Telerik Grid) в родительском окне, я успешно обновляю сетку telerik, не выполняя обратную отправку. Но затем, когда я нажимаю на кнопку в окне telerik, она выполняет свою работу, а также обновляет сетку, но при этом снова открывает новое окно telrik.
Я не уверен, почему это происходит. Ниже приведен фрагмент кода. Любое предложение было бы высоко оценено.
Java script функционирует в RejectLeaveRequest.aspx (окно telerik):
function CloseAndRebind(args) {
GetRadWindow().close();
GetRadWindow().BrowserWindow.refreshGrid(args);
}
function GetRadWindow() {
var oWindow = null;
if (window.radWindow) {
oWindow = window.radWindow; }
else if (window.frameElement.radWindow) {
oWindow = window.frameElement.radWindow;
}
return oWindow;
}
Исходный код для RejectLeaveRequest.aspx.cs (окно telerik):
protected void btnReject_Click(object sender, EventArgs e)
{
//Code for delete records
//
ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CloseAndRebind(this);", true); // Call client method in radwindow page
}
Java script функционирует при утверждении.aspx:
function refreshGrid() {
$find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("Rebind");
}
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="gvLeaveApproval" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="gvLeaveApproval">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="gvLeaveApproval" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<asp:UpdatePanel ID="updRadWindow" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<telerik:RadWindowManager ID="RadWindowManager1" runat="server" >
</telerik:RadWindowManager>
</ContentTemplate>
</asp:UpdatePanel>
Готовый код для утверждения.aspx:
protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
{
if (e.Argument == "Rebind")
{
SelectEmployeeLeaveRequested();
}
}
Комментарии:
1. Вы опубликовали несколько вопросов… Вы наверняка знаете, как правильно форматировать свой код?
2. вероятно, было бы неплохо разместить это на форумах telerik, если у вас возникли проблемы ..! обычно они довольно хороши!
3. Привет, Бекс, я разместил вопрос на страницах форума telerik. Я добавлю ответ от telerik сюда, если я его получу…
4. как вы открываете radwindow? кроме того, почему вы используете обычный asp.net обновить панель, чтобы она содержала radwindow manager?
Ответ №1:
Я нашел это на демо-сайте telerik. Это помогло нам с устранением проблемы