Google语言下拉小部件 - 在Ajax页面上

时间:2013-04-05 05:27:54

标签: asp.net ajax google-widget

我的ASP.NET页面上有一个Google语言下拉窗口小部件。此页面包含级联下拉列表。也就是说,从第一个下拉列表中选择值时,将填充另一个。

我面临的问题是,如果我首先从Google语言下拉列表中选择语言,然后从第一个下拉列表中更改该值,则第二个下拉列表中的值不会持久保存到更改的语言。我确信这是因为Async Postback而发生的。但是,如果我将EnableAjax属性设置为false,则此功能正常。我正在使用Telerik RadAjaxManager来实现Ajax。请找到这里附带的代码

<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Test Page - ASP.NET</title>
    </head>

    <form id="form1" runat="server">
        <asp:ScriptManager runat="server" ID="scrpt1">
        </asp:ScriptManager>
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" EnableAJAX="true">
            <AjaxSettings>
                <telerik:AjaxSetting AjaxControlID="ddl">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="DropDownList2" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
            </AjaxSettings>
        </telerik:RadAjaxManager>
        <div>
            <div id="google_translate_element">
            </div>

            <script type="text/javascript">
                    function googleTranslateElementInit() 
                    {
                        new google.translate.TranslateElement({ pageLanguage: 'en', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element');
                    }
            </script>
            <script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
            <br />
            <br />
            <asp:DropDownList runat="server" ID="ddl" AutoPostBack="true">
                <asp:ListItem Text="A"></asp:ListItem>
                <asp:ListItem Text="B"></asp:ListItem>
                <asp:ListItem Text="C"></asp:ListItem>
                <asp:ListItem Text="D"></asp:ListItem>
            </asp:DropDownList>
            <br />
            <br />
            <asp:DropDownList runat="server" ID="DropDownList2" />
        </div>
        </form>
    </html>

背后的代码

          Private Sub ddl_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddl.SelectedIndexChanged 
            DropDownList2.Items.Add(ddl.SelectedItem.Text)
        End Sub

如果我能通过Ajax Enabled实现这一点,请告诉我。

谢谢, SRINIVAS

0 个答案:

没有答案