Проблема Telerik RadWindow

#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. Это помогло нам с устранением проблемы

http://demos .telerik.com/aspnet-ajax/controls/examples/integration/gridandwindow/defaultcs.aspx?product=window