2010-03-16 2 views
0

У меня есть страница содержимого asp.net с панелью обновлений, элементы управления asp.net с расширениями ajax и кнопка asp.net с кликом события. все работает нормально, кроме одного случая. У меня есть 3 DropDownList с расширителями CascadingDropDown. когда я нажимаю кнопку, не выбирая ничего из DropDownLists, затем нажмите кнопку, нажатие кнопки будет работать нормально, но если я выберу что-нибудь, на что моя страница ответит, когда я нажму кнопку.У страницы содержимого asp.net есть проблемы с CascadingDropDown

Я уже добавил триггеры для нажатия кнопки.

есть что-нибудь, что я должен проверить, чтобы исправить эту проблему ???

вот мой код:

<%@ Page Title="" Language="C#" MasterPageFile="~/Master.Master" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="IMAM_APPLICATION.WebForm2" %> 

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
</asp:Content> 
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder2" runat="server"> 
    <asp:UpdatePanel ID="UPDDL" runat="server"> 
    <ContentTemplate> 
    <asp:Panel ID="PDDL" runat="server"> 
     <asp:DropDownList ID="cmbWorkField" runat="server" Style="top: 41px; left: 126px; 
        position: absolute; height: 22px; width: 126px"> 


       </asp:DropDownList> 

       <asp:DropDownList runat="server" ID="cmbOccupation" Style="top: 77px; left: 127px; 
        position: absolute; height: 22px; width: 77px"> 

       </asp:DropDownList> 
       <asp:DropDownList ID="cmbSubOccup" runat="server" 
        style="position:absolute; top: 116px; left: 126px;"> 

       </asp:DropDownList> 

       <cc1:CascadingDropDown ID="cmbWorkField_CascadingDropDown" runat="server" 
        TargetControlID="cmbWorkField" 
        Category="WorkField" 
        LoadingText="Please Wait ..." 
        PromptText="Select Wor kField ..." 
        ServiceMethod="GetWorkField" 
        ServicePath="ServiceTags.asmx"> 
       </cc1:CascadingDropDown> 

       <cc1:CascadingDropDown ID="cmbOccupation_CascadingDropDown" runat="server" 

        TargetControlID="cmbOccupation" 
        Category="Occup" 
        LoadingText="Please wait..." 
        PromptText="Select Occup ..." 
        ServiceMethod="GetOccup" 
        ServicePath="ServiceTags.asmx" 
        ParentControlID="cmbWorkField"> 
       </cc1:CascadingDropDown> 
       <cc1:CascadingDropDown ID="cmbSubOccup_CascadingDropDown" runat="server" 
        Category="SubOccup" 
        Enabled="True" 
        LoadingText="Please Wait..." 
        ParentControlID="cmbOccupation" 
        PromptText="Select Sub Occup" 
        ServiceMethod="GetSubOccup" 
        ServicePath="ServiceTags.asmx" 
        TargetControlID="cmbSubOccup"> 
       </cc1:CascadingDropDown> 
       </asp:Panel> 
     <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> 
     <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
    </ContentTemplate> 

     <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" /> 
     </Triggers> 

    </asp:UpdatePanel> 


</asp:Content> 

........................ 

here is the code behind: 

.................................................... 

protected void Button1_Click(object sender, EventArgs e) 
     { 
      Label1.Text = "you click me"; 
     } 

ответ

0

Я был в состоянии решить эту проблему.

Что я добавил, это удалить панель обновления и установить EnableEventValidation = "False" для этой страницы.

0

Вопрос, который вы видите, задокументирован на Codeplex. См. Сообщение jlewicki на двух других возможных решениях, которые не требуют отключения EventValidation.

Смежные вопросы