C# 模态弹出ok按钮未按下拉菜单预期工作

C# 模态弹出ok按钮未按下拉菜单预期工作,c#,javascript,asp.net,jquery-ui,asp.net-ajax,C#,Javascript,Asp.net,Jquery Ui,Asp.net Ajax,代码隐藏: private void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) { ddlLanguage.SelectedValue = Thread.CurrentThread.CurrentCulture.Name; } } protected void ddlLanguage_Selec

代码隐藏:

  private void Page_Load(object sender, System.EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            ddlLanguage.SelectedValue = Thread.CurrentThread.CurrentCulture.Name;
        }

    }



    protected void ddlLanguage_SelectedIndexChanged(object sender, EventArgs e)
    {

        if (ddlLanguage.SelectedValue == "es-ES")
        {
            mdlPopup.Show();
        }
        //Sets the cookie that is to be used by Global.asax
        HttpCookie cookie = new HttpCookie("CultureInfo");
        cookie.Value = ddlLanguage.SelectedValue;
        Response.Cookies.Add(cookie);

        //Set the culture and reload the page for immediate effect. 
        //Future effects are handled by Global.asax
        Thread.CurrentThread.CurrentCulture = new CultureInfo(ddlLanguage.SelectedValue);
        Thread.CurrentThread.CurrentUICulture = new CultureInfo(ddlLanguage.SelectedValue);
        //Server.Transfer(Request.Path);
    }


    protected void OKButton_Click(object sender, EventArgs e)
    {
        Server.Transfer(Request.Path);
    }
ASPX页面:

 <asp:DropDownList ID="ddlLanguage" class="langpnl" runat="server" AutoPostBack="True"
      OnSelectedIndexChanged="ddlLanguage_SelectedIndexChanged">
   <asp:ListItem Value="en-US">Eng</asp:ListItem>
   <asp:ListItem Value="es-ES">Esp</asp:ListItem>
 </asp:DropDownList>
<ajaxToolkit:ModalPopupExtender ID="mdlPopup" runat="server" TargetControlID="testhidden"
   PopupControlID="pnlPopup" OkControlID="OKButton" />
<asp:Panel ID="pnlPopup" runat="server" Width="500px" Style="display: none">
   All content may not be in Spanish.
<asp:Button ID="OKButton" runat="server" Text="OK" OnClick="OKButton_Click" />
</asp:Panel>
<asp:HiddenField ID="testhidden" runat="server" />

英格
Esp
并非所有内容都是西班牙语。
我正在尝试根据下拉框中的选择设置语言。但是如果用户选择西班牙语,我想显示一个带有消息的弹出模式&一旦按下OK按钮,我想回发整个页面。
目前我可以显示弹出窗口,但页面从未刷新,因此语言仍然没有改变。在后面的代码中,如果我从“确定”按钮中删除server.transfer并将其放入SelectIndexChange,则页面回发工作正常,但没有弹出窗口。我认为该页面在弹出窗口执行后会回发,因此它永远不会显示出来……请需要一些帮助,我从过去3天开始就感到头晕目眩。

在中定义另一个按钮那个小组。。。在他的onclick活动中你想做什么就做什么。因此,您将有一个回发

OK按钮单击事件。。。只要你在modalpopup中指定了他,OK按钮\u点击就不会开火

 if (ddlLanguage.SelectedValue == "es-ES")
        {
            mdlPopup.Show();
        }
  else
        {
            Server.Transfer(Request.Path); 
        }

&从Modalpopup中删除了“确定”按钮。终于看到了我所期望的内容。

是的,它正在工作,但当我从西班牙语返回英语时,它仍然显示西班牙语,直到我刷新页面。@avi很抱歉再次打扰您。我测试了同一个模块,发现有表单提交的页面没有回发,因为验证失败,因为页面被卡住了,因为弹出窗口打开了&即使你按下ok,验证也会在后台失败,所以弹出窗口不会消失。需要一些指导..我现在一团糟。。。