2016-09-22 7 views
0

SelectedIndexChanged событие dropDownList не запускается в панели обновления, а также устанавливает AutoPostBack = "true".SelectedIndexChanged событие dropDownList не запускается в панели обновления

Ниже мой дизайн Код: за

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
<ContentTemplate> 
<asp:DropDownList ID="ddl_TypeofCampaign" runat="server" CssClass="form-control" AutoPostBack="true" OnSelectedIndexChanged="ddl_TypeofCampaign_SelectedIndexChanged" AppendDataBoundItems="true" ViewStateMode="Enabled" EnableViewState="true" > 
<asp:ListItem Text="Select" Value="0"></asp:ListItem> 
<asp:ListItem Text="Email" Value="Email"></asp:ListItem> 
<asp:ListItem Text="SMS" Value="SMS"></asp:ListItem> 
<asp:ListItem Text="Voice SMS" Value="Voice SMS"></asp:ListItem> 
</asp:DropDownList> 

<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1" 
DisplayAfter="1"> 
<ProgressTemplate> 
<div id="IMGDIV" runat="server" align="center" style="visibility: visible; vertical-align: middle; position: absolute; background-color: #fafbf6" 
valign="middle"> 
<asp:Image ID="Image001" runat="server" ImageUrl="~/assets/img/ajax-loader.gif" /> 
</div> 
</ProgressTemplate> 
</asp:UpdateProgress> 

    </ContentTemplate> 
</asp:UpdatePanel> 

Код:

protected void ddl_TypeofCampaign_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    Thread.Sleep(2000); 
    FillTemplates(); 
    btn_Preview.Visible = false; 

} 

Мой код страницы загрузки.

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     FillGrid(); 
     FillTypeofSourcing(); 
     FillCampaignNames(); 
     FillTemplates(); 

    } 
} 

Метод заполнения шаблона, где я получаю шаблоны базы имени по выбору.

protected void FillTemplates() 
{ 
    if (ddl_TypeofCampaign.SelectedItem.ToString() != "Select") 
    { 
     bo.Para1 = ddl_TypeofCampaign.SelectedItem.ToString(); 
     bo.Para2 = "Stage1";//StageValue in TemplateMasterInfo Table 
     DataTable dt = bl.Get_Templates(bo); 
     ddl_TypeofTemplateName.DataSource = dt; 
     ddl_TypeofTemplateName.DataTextField = "TemplateName"; 
     ddl_TypeofTemplateName.DataValueField = "TemplateId"; 
     ddl_TypeofTemplateName.Items.Clear(); 
     ddl_TypeofTemplateName.Items.Add(new ListItem("Select", "0")); 
     ddl_TypeofTemplateName.DataBind(); 
    } 
    else 
    { 
     ddl_TypeofTemplateName.Items.Clear(); 
     ddl_TypeofTemplateName.Items.Add(new ListItem("Select", "0")); 
     ddl_TypeofTemplateName.DataBind(); 
    } 
} 
+0

показать код 'page_load' – Webruster

+0

Я обновил свой вопрос, а также упомянул код загрузки страницы. @Webruster – zahed

+0

где вы загружаете это выпадающее меню? – Webruster

ответ

0

В Page Tag Я уже не viewStateEncryptionMode = "Никогда" и я использую Visual Studio 2013. Ниже приведены данные моего тега.

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="ViewCandidate.aspx.cs" Inherits="ViewCandidate" validateRequest="false" enableEventValidation="false" viewStateEncryptionMode="Never" %> 
0

Попробуйте добавить Trigger к вашему Update Panel, как показано ниже

<Triggers> 
    <asp:AsyncPostBackTrigger ControlID="ddl_TypeofCampaign" 
EventName="SelectedIndexChanged" />  
    </Triggers> 

UPDATE

 <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <Triggers> //this is missing in your code posted 
    <asp:AsyncPostBackTrigger ControlID="ddl_TypeofCampaign" EventName="SelectedIndexChanged" /> 
    </Triggers> 
    <ContentTemplate>mydropcode </ContentTemplate> </asp:UpdatePanel> 
+0

Я добавил ваш код в панель обновления ContentTemplate, но получаю сообщение об ошибке: Element 'AsyncPostBackTrigger не является элементом информации. Это может произойти, если на веб-сайте есть ошибка компиляции или отсутствует файл web.config. @Webruster – zahed

+0

@zahed пожалуйста, покажите, как у добавил это в код – Webruster

+0

<осины: UpdatePanel ID = RUNAT = "сервер" "UpdatePanel1"> <жерех: AsyncPostBackTrigger ControlID = "ddl_TypeofCampaign" EventName = "SelectedIndexChanged" /> mydropcode . @Webruster – zahed