Я новичок в c # и новичок в Telerik. У меня есть эта проблема:
Я открываю окно telerik одним нажатием кнопки, а затем нажатием кнопки, помещенной в окно telerik. Я хочу обновить сетку (Telerik Grid) в родительском окне, я успешно обновляю сетку telerik без выполнения обратной передачи , Но затем, когда я нажимаю на кнопку в окне телерика, он выполняет свою работу, а также обновляет сетку, но снова открывает новое окно телрика.
Я не уверен, почему это происходит. Ниже приведен фрагмент кода. Любое предложение будет с благодарностью.
Функции Java-скрипта в 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-скрипта на Approval.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>
Код для Approval.aspx:
protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
{
if (e.Argument == "Rebind")
{
SelectEmployeeLeaveRequested();
}
}