使用javascript ASP.net c#的依赖下拉列表

本文关键字:依赖 下拉列表 net javascript ASP 使用 | 更新日期: 2023-09-27 17:57:31

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

但是我收到一个错误

无效的回发或回调参数。使用页面启用事件验证。。。

需要解决方案。请帮帮我。。。因为我是堆栈。

使用javascript ASP.net c#的依赖下拉列表

您可以在不通知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/en-us/library/58tf9b9h(v=vs.110).aspx

现在将您的javascript转换为.NET代码。你可以在MVC中使用你的方法,但相信我,在WebForms中,你已经将自己设置为Mordor。