簡體   English   中英

OnSelectedIndexChanged事件未觸發

[英]OnSelectedIndexChanged event not firing

我知道這里有很多關於這個問題的問題。 因此,我所搜索的內容無濟於事,所以我將解釋我所遇到的問題以及我自己嘗試解決的方法。

我用兩個asp.net DropDownList控件(ddlFaculty和ddlCourse)創建了一個表,其想法是當ddlFaculty的索引更改時,將通過AJAX用相應的項填充ddlCourse 如果我在ddlCourse autopostback設置為true, ddlCourse重新加載`頁面,因此我知道這一定與控件本身或文件背后的代碼有關。

這是我的兩個下拉列表:

ddl學院

<asp:DropDownList ID="ddlFaculty" class="form-control" runat="server" data-toggle="dropdown" aria-expanded="true" OnSelectedIndexChanged="ddlFaculty_SelectedIndexChanged" AutoPostBack="true">
    <asp:ListItem>Select Faculty</asp:ListItem>
    <asp:ListItem Value="Faculty of Arts">Faculty of Arts</asp:ListItem>
    <asp:ListItem Value="Faculty of Business">Faculty of Business</asp:ListItem>
    <asp:ListItem Value="Faculty of Health">Faculty of Health</asp:ListItem>
    <asp:ListItem Value="Faculty of ">Faculty of Health</asp:ListItem>
    <asp:ListItem Value="Faculty of Service Industries">Faculty of Service Industries</asp:ListItem>
    <asp:ListItem Value="Faculty of Trades">Faculty of Trades</asp:ListItem>
    <asp:ListItem Value="Te Wananga Maori">Te Wananga Maori</asp:ListItem>
</asp:DropDownList>

和ddlCourse

<asp:UpdatePanel ID="updateCourse" runat="server">
    <ContentTemplate>
        <asp:DropDownList ID="ddlCourse" class="form-control" runat="server" data-toggle="dropdown" aria-expanded="true">                  
        </asp:DropDownList>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="ddlFaculty" EventName="SelectedIndexChanged" />
    </Triggers>
</asp:UpdatePanel>

以及在文件后面的代碼中要調用的方法

 protected void ddlFaculty_SelectedIndexChanged(object sender, EventArgs e)
{        
    switch (ddlFaculty.SelectedIndex)
    {

            case 1:
            {
                Arts = new string[]
                {
                    "Adobe Creative Suite", "Bachelor of Applied Arts (Creative Writing)", "Bachelor of Applied Arts (Music)", "Bachelor of Applied Arts (Performing Arts)",
                    "Bachelor of Applied Arts (Visual Arts and Design)", "Bachelor of Teaching (Early Childhood Education)", "Certificate in Advanced Photography",
                    "Certificate in Desktop Publishing for Print and the Web", "Certificate in Digital Media", "Certificate in DJ Music", "Certificate in Foundation Music",
                    "Certificate in Live Sound and Event Production", "Certificate in Mastercraft", "Certificate in Multimedia Journalism", "Certificate in Practical Photography",
                    "Certificate in Professional Teaching Practice(English)", "Certificate in Rock, Jazz and Commercial Music", "Certificate in Screen Acting",
                    "Diploma in Applied Stage and Screen Arts(Advanced)", "Diploma in Creative Writing", "Diploma in Creative Writing(Advanced)", "Diploma in Digital Design",
                    "Diploma in Digital Design and Multi - media", "Diploma in Early Childhood Education", "Diploma in Jewellery Design", "Diploma in Performing Arts(Commercial Dance)",
                    "Diploma in Performing Arts: Singing(Musical Theatre)", "Diploma in Publishing", "Diploma in Publishing(Applied)", "Diploma in Stage and Screen Arts",
                    "Graduate Diploma in Creative Writing", "National Diploma in Journalism(Multi - media)(Level 5)", "The Creative Writing Programmes Introduction"
                };

                for (int i = 0; i < Arts.Length; i++)
                {
                    ddlCourse.Items.Add(Arts[i]);
                }
                break;
            }
            case 2:
            {
                Business = new string[]
                {
                   "Bachelor of Applied Business Studies", "Bachelor of Information Technology", "Certificate in English Language", "Certificate in English Language (Advanced)",
                   "Certificate in Information Technology", "Diploma in Information Technology (Level 5)", "Diploma in Information Technology (Level 6)", "Diploma in Management (Not for Profit Sector)",
                   "Graduate Diploma in Applied Business Studies", "Graduate Diploma in Information Technology", "New Zealand Diploma in Business", "New Zealand Institute of Management (NZIM)Certificate in Management",
                   "New Zealand Institute of Management (NZIM)Certificate in Small Business Management", "New Zealand Institute of Management (NZIM)Diploma in Management",
                   "New Zealand Law Society Legal Executive Diploma"
                };

                for (int i = 0; i <= Business.Length; i++)
                {
                    ddlCourse.Items.Add(Business[i]);
                }
                break;
            }
            case 3:
            {
                Health = new string[]
                {
                    "Bachelor of Health Science (Paramedic)", "Bachelor of Nursing", "Bachelor of Nursing Māori", "Bachelor of Nursing Pacific",
                    "Bachelor of Social Work", "Certificate in Foundation Education (Health Science)", "Certificate in Foundation Education (Social Sciences)",
                    "Certificate in Health Professional Practice Development", "Certificate in Nursing (Long Term Care and Rehabilitation)",
                    "Certificate in Preparation for Tertiary Study", "Competency Assessment Programme for Nurses", "National Certificate in Mental Health(Mental Health Support Work)",
                    "National Certificate in Tamariki Ora – Well Child Services", "National Diploma in Mental Health(Mental Health Support Work)",
                    "Postgraduate Certificate in Hospice Palliative Care", "Postgraduate Certificate in Nursing", "Postgraduate Certificate in Perioperative Specialty Nursing",
                    "Postgraduate Certificate in Primary Health Care Specialty Nursing", "Postgraduate Certificate in Specialty Care", "Pre - entry to Degrees"
                };

                for (int i = 0; i <= Health.Length; i++)
                {
                    ddlCourse.Items.Add(Health[i]);
                }
                break;
            }
            case 4:
            {
                Industries = new string[]
                {
                    "Certificate in Beauty and Hairdressing", "Certificate in Beauty Therapy", "Certificate in Cafe Service", "Certificate in Office Administration and Computing (Advanced)",
                    "Certificate in Office Administration and Computing (Intermediate)", "Certificate in Office Administration and Computing (Introductory)",
                    "Certificate in Office Skills/Computing", "Certificate in Outdoor Adventure", "Certificate in Professional Cookery", "Certificate in Retail and Cosmetic Services",
                    "Certificate in Retail Management", "Community Computing", "Diploma in Outdoor Adventure", "Flexi-Learn Computer Applications","Mountain Safety Council Courses",
                    "National Certificate Business (First Line Management) Level 3", "National Certificate in Computing (Level 2 and 3)", "National Certificate in Hairdressing (Salon Support)",
                    "National Certificate in Tourism (Core Skills) Level 3", "National Diploma in Hospitality (Management) (Level 5)", "Short Course Certificate in Avalanche Safety",
                    "Short Course Certificate in Computer Applications"
                };

                for (int i = 0; i <= Industries.Length; i++)
                {
                    ddlCourse.Items.Add(Industries[i]);
                }
                break;
            }
            case 5:
            {
                Trades = new string[]
                 {
                    "Certificate in Automotive Engineering", "Certificate in Automotive Engineering (Advanced)", "Certificate in Aviation (Aeroplane)", "Certificate in Aviation (Aeroplane) Instructor Rating ",
                    "Certificate in Aviation (Helicopter)", "Certificate in Aviation (Helicopter) Advanced", "Certificate in Aviation (Helicopter) Turbine", "Certificate in Aviation (Multi-engine Instrument Rating)",
                    "Certificate in Carpentry", "Certificate in Civil Construction (Introductory Skills)", "Certificate in Commercial Road Transport", "Certificate in Electrical Engineering",
                    "Certificate in Horticulture and Landscaping", "Certificate in Plumbing, Drainlaying", "Gasfitting and Roofing", "Certificate in Road Transport",
                    "Certificate in Trade Skills", "National Certificate in Floristry (Level 2)"
                 };

                for (int i = 0; i <= Trades.Length; i++)
                {
                    ddlCourse.Items.Add(Trades[i]);
                }
                break;

            }
            case 6:
            {
                Maori = new string[]
                 {
                    "Certificate in General Studies", "Certificate in Mastercraft (Ngā Tapuwae o Hine-te-iwaiwa)",
                    "Certificate in Reo Māori – Te Ara Piko", "Certificate in Reo Māori – Tēnei Au", "Certificate in Waka Ama",
                    "Certificate in Waka Ama (Advanced)", "National Certificate in Whakairo (Tūturu) (Level 4)", "National Diploma in Reo Māori (Level 5)",
                    "National Diploma in Reo Māori (Level 6)", "National Diploma in Whakairo (Level 5)", "National Diploma in Whakairo (Level 6)",
                    "Te Hiringa o Te Reo"
                 };

                for (int i = 0; i <= Maori.Length; i++)
                {
                    ddlCourse.Items.Add(Maori[i]);
                }
                break;
            }
    }

腳本管理器(在主文件中)

<asp:ScriptManager runat="server">
        <Scripts>
            <%--To learn more about bundling scripts in ScriptManager see http://go.microsoft.com/fwlink/?LinkID=301884 --%>
            <%--Framework Scripts--%>
            <asp:ScriptReference Name="MsAjaxBundle" />
            <asp:ScriptReference Name="jquery" />
            <asp:ScriptReference Name="bootstrap" />
            <asp:ScriptReference Name="respond" />
            <asp:ScriptReference Name="WebForms.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebForms.js" />
            <asp:ScriptReference Name="WebUIValidation.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebUIValidation.js" />
            <asp:ScriptReference Name="MenuStandards.js" Assembly="System.Web" Path="~/Scripts/WebForms/MenuStandards.js" />
            <asp:ScriptReference Name="GridView.js" Assembly="System.Web" Path="~/Scripts/WebForms/GridView.js" />
            <asp:ScriptReference Name="DetailsView.js" Assembly="System.Web" Path="~/Scripts/WebForms/DetailsView.js" />
            <asp:ScriptReference Name="TreeView.js" Assembly="System.Web" Path="~/Scripts/WebForms/TreeView.js" />
            <asp:ScriptReference Name="WebParts.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebParts.js" />
            <asp:ScriptReference Name="Focus.js" Assembly="System.Web" Path="~/Scripts/WebForms/Focus.js" />
            <asp:ScriptReference Name="WebFormsBundle" />
            <%--Site Scripts--%>
        </Scripts>
    </asp:ScriptManager>

我不太確定我還能嘗試什么。

您正在使用ScriptManager嗎? 例如

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

(注意:我將您的代碼復制並粘貼到一個新項目中。我要做的僅有2處更改是(1)在您的6個數組聲明前添加一個var(2)添加了ScriptManager。立即為我工作!)

我認為您的活動正常,但會引發錯誤。 然后更新面板將不會更新。

檢查您的循環條件,除了第一個

for (int i = 0; i <= Industries.Length; i++)
{
    ddlCourse.Items.Add(Industries[i]);
}

我<=更改為我<

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM