【问题标题】:ASP - how to use ajax modal/telerik radwindow to update control on previous pageASP - 如何使用 ajax modal/telerik radwindow 更新上一页的控件
【发布时间】:2014-02-13 03:51:45
【问题描述】:

我的设置很简单。

Details.aspx 我有一个表单视图和一个按钮。单击该按钮时,它会打开一个 Telerik radwindow 到editdetails.aspx。在editdetails.aspx 我有一个按钮,上面写着提交。我想要做的是关闭打开的 radwindow,然后只刷新details.aspx 上的表单视图。欢迎任何帮助!

details.aspx

<asp:FormView ID="fvDealershipInformation" runat="server" BorderStyle="Solid" BorderWidth="1px">
    <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
    <HeaderTemplate>
        <div>
            <h3>
                Dealership Information</h3>
        </div>
    </HeaderTemplate>
    <ItemTemplate>
        <table id="tblDealershipInformation" border="0" cellpadding="10" cellspacing="0">
            <tr class="formviewCommandRow">
                <td>
                    <asp:ImageButton runat="server" ID="EditFormViewButton" ImageUrl="~/secure/images/edit.jpg"
                        ToolTip="Edit Dealer Information"  OnClientClick="ShowEditDealerInformationForm(); return false;"/>
                </td>
                <td>
</table>
    </ItemTemplate>
</asp:FormView>

这里是ShowEditDealerInformationForm()

function ShowEditDealerInformationForm() {
            var url = window.location.search;
            url = url.replace("?", ''); // remove the ?
            var oWnd = window.radopen("editdetails.aspx?" + url, "UserListDialog");
            oWnd.maximize();
        }

这会很好地打开editdetails.aspx,所以在editdetails.aspx上我有一个按钮,我想关闭radwindow然后更新information.aspx上的formview

editdetails.aspx

<telerik:RadButton runat="server" ID="UpdateContactInformation" Text="Submit" OnClick="RadButton_DealerContactRecord_Click"
        Skin="Web20">
    </telerik:RadButton>

    protected void RadButton_DealerContactRecord_Click(object sender, EventArgs e)
{

ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CloseAndRebind('navigateToInserted');", true);

}

function CloseAndRebind(args) { 
    {
        GetRadWindow().close(); 
    }

    function GetRadWindow() {
        var oWindow = null;
        if (window.radWindow) oWindow = window.radWindow;
        //Will work in Moz in all cases, including clasic dialog               
        else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; //IE (and Moz as well) 
        return oWindow;
    }

【问题讨论】:

    标签: javascript asp.net telerik


    【解决方案1】:

    如果仅 JavaScript 就足以满足您的更新 - 请检查以下内容:http://demos.telerik.com/aspnet-ajax/window/examples/dialogreturnvalue/defaultcs.aspx

    如果您需要在对话页面更新某些内容(例如数据库)后访问服务器,请检查:http://demos.telerik.com/aspnet-ajax/controls/examples/integration/gridandwindow/defaultcs.aspx?product=window。你会看到有一些额外的 JS 函数是你没有的。重要的是在主页上,它将触发部分回发以更新网格/表单视图。

    【讨论】:

      猜你喜欢
      • 2014-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多