簡體   English   中英

使用JavaScript ASP.net C#的從屬下拉列表

[英]Dependent Drop down list using javascript ASP.net c#

對於ASPX頁面,我已經寫過

<script type="text/javascript" language="JavaScript">

            function OnSelectedIndexChange_tb_type() {
                ddl = document.getElementById("<%=tb_type.ClientID %>");
                ddl1= document.getElementById("<%=tb_diagnost_by.ClientID %>");

                var options = document.createElement("option");

                if (ddl.selectedIndex == 1) {

                    ddl1.options[0] = new Option("---Select---", "0");
                    ddl1.options[1] = new Option("Sputum", "Sputum");
                    ddl1.options[2] = new Option("CX Ray", "CX Ray");
                }
                else if (ddl.selectedIndex == 2) {
                    ddl1.options[3] = new Option("---Select---", "0");
                    ddl1.options[4] = new Option("Limph node", "Limph node");
                    ddl1.options[5] = new Option("CSF", "CSF");
                    ddl1.options[6] = new Option("Plural Fluid", "Plural Fluid");
                    ddl1.options[7] = new Option("Ascitic Fluid", "Ascitic Fluid");
                    ddl1.options[8] = new Option("Urine", "Urine");
                    ddl1.options[9] = new Option("Other", "Other");
                }
                else {
                    ddl1.options[10] = new Option("---Select---", "0");
                }
            }
        </script>

    <script type="text/javascript" language="JavaScript">

        function OnSelectedIndexChange_tb_diagnost_by() {

            ddl1 = document.getElementById("<%=tb_diagnost_by.ClientID %>");
            ddl2 = document.getElementById("<%=tb_diagnost_by_detail.ClientID %>");

            var options = document.createElement("option");

            if (ddl1.selectedIndex == 1) 
            {
                ddl2.options[0] = new Option("---Select---", "0");
                ddl2.options[1] = new Option("AFB", "AFB");
                ddl2.options[2] = new Option("Gene Xpert", "Gene Xpert");
            }
            else if {
                ddl2.options[3] = new Option("---Select---", "Select");
                ddl2.style.visibility = 'hidden';
            }
            else{
                 ddl2.options[4] = new Option("---Select---", "Select");
            }

         }
    </script>

但是我遇到一個錯誤

無效的回發或回調參數。 使用頁面啟用事件驗證...

需要解決方案。 請幫幫我...因為我在堆。

您可以在不通知aspx的服務器的情況下添加新選項,即更改視圖狀態,因此您需要禁用事件驗證,或使用更新面板從服務器執行此操作。

將事件偵聽器添加到您的下拉列表中

<asp:DropDownList ID="DD1" runat="server" AutoPostBack="true" OnClick="DD1_Click" />

然后在您的.NET頁面頂部添加

using System.Web.UI.WebControls;

然后低於頁面加載。

protected void DD1_Click(object sender, EventArgs e)
{
    var index = ((DropDownList)sender).SelectedIndex;
}

http://msdn.microsoft.com/zh-CN/library/58tf9b9h(v=vs.110).aspx

現在將您的JavaScript轉換為.NET代碼。 您可以在MVC中使用您的方法,但是請相信我在WebForms中對Mordor的直覺。

暫無
暫無

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

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