Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更新面板中未触发dropDownList的SelectedIndexChanged事件_C#_Asp.net_Updatepanel - Fatal编程技术网

C# 更新面板中未触发dropDownList的SelectedIndexChanged事件

C# 更新面板中未触发dropDownList的SelectedIndexChanged事件,c#,asp.net,updatepanel,C#,Asp.net,Updatepanel,在更新面板中选择了dropDownList未触发的DexChanged事件,并设置AutoPostBack=“true” 以下是我的设计代码: <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:DropDownList ID="ddl_TypeofCampaign" runat="server" CssClass="form-control" AutoPostBac

在更新面板中选择了dropDownList未触发的DexChanged事件,并设置AutoPostBack=“true”

以下是我的设计代码:

<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 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();
    }
}

尝试将
Trigger
添加到更新面板,如下所示

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

更新

       <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>

//这在您的代码中丢失
mydropcode

在页面标签中,我提到了viewStateEncryptionMode=“Never”,我正在使用Visual Studio 2013。下面是我的页面标签详细信息

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


显示你的
页面加载
code我已经更新了我的问题,还提到了页面加载代码@Webrusterwhere您正在加载这个下拉列表?控制台中有错误吗?我已经删除了所有的更新面板和进度条,当我选择下拉列表时,就会出现这样的错误。viewstate MAC验证失败。如果此应用程序由Web场或群集托管,请确保配置指定了相同的validationKey和验证算法。无法在群集中使用自动生成@WebrusterI已将您的代码添加到更新面板ContentTemplate中,但获取的错误:元素“AsyncPostBackTrigger”不是已知元素。如果网站中存在编译错误或web.config文件丢失,则可能发生这种情况@Webruster mydropcode@WebrusterNow错误不会出现,但仍不会触发,我将断点代码保留在“选择索引更改断点”后面也不起作用@Webruster@zahed您需要在
Triggers
下添加
AsyncPostBackTrigger
,如下
updatepanel
-->
Triggers
-->
AsyncPostBackTrigger
我添加了您的更新答案,没有触发任何思考和下拉列表,也没有填充@网锈菌
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="ViewCandidate.aspx.cs" Inherits="ViewCandidate" validateRequest="false" enableEventValidation="false" viewStateEncryptionMode="Never" %>