c# - 显示/隐藏其他下拉列表值的下拉列表值已更改

标签 c# asp.net

我想显示/隐藏我的 ddlDuration 的一些值,这些值会根据我想要的 ddlLOanType 而改变。例如,如果他们从我的下拉列表中选择个人贷款类型,我希望它显示 ddlDuration 中的所有值,如果我选择新车贷款,我希望它显示这些值“36、48、60”。我不太确定我应该为此使用什么。谢谢你的帮助

Type: <asp:DropDownList ID="ddlLoanType" runat="server" AutoPostBack="True" 
        onselectedindexchanged="ddlLoanType_SelectedIndexChanged">
        <asp:ListItem Value="0">Select</asp:ListItem>
        <asp:ListItem Value="1">Personal Loan</asp:ListItem>
        <asp:ListItem Value="2">New Car Loan</asp:ListItem>
        <asp:ListItem Value="3">Used Car Loan</asp:ListItem>
    </asp:DropDownList>

Duration:<asp:DropDownList ID="ddlDuration" runat="server" 
        onselectedindexchanged="ddlDuration_SelectedIndexChanged" 
        AutoPostBack="True">
        <asp:ListItem Value="12">12</asp:ListItem>
        <asp:ListItem Value="24">24</asp:ListItem>
        <asp:ListItem Value="36">36</asp:ListItem>
        <asp:ListItem Value="48">48</asp:ListItem>
        <asp:ListItem Value="60">60</asp:ListItem>
    </asp:DropDownList>

最佳答案

  protected void ddlLoanType_SelectedIndexChanged(object sender, EventArgs e)
        {
             if (ddlLoanType.SelectedValue =="2")
            {
                ddlDuration.Items.FindByValue("12").Enabled = false;
                ddlDuration.Items.FindByValue("24").Enabled = false;


            }
        }

但是这不是解决这个问题的正确方法,在编写代码时你不应该有任何依赖并且应该足够灵活以便将来修改。如果有一天逻辑发生变化而不是谁将列表项添加到你的aspx 页面 os 某天银行决定更改期限??尝试将您的数据与带有一些 id 的下拉列表绑定(bind),该 id 可以识别哪种贷款类型将在下拉列表中显示哪些值。

关于c# - 显示/隐藏其他下拉列表值的下拉列表值已更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17951152/

相关文章:

ASP.NET 成员(member)数据库连接

c# - 如何修复 .NET Windows 应用程序在启动时崩溃并出现异常代码 : 0xE0434352?

c# - 如何将常规属性转换为自动属性 ​​C#

c# - 在 C# 中使用 PropertyInfo 的奇怪问题

c# - 将文本绑定(bind)到组合框中的选定项目

c# - 嵌套的 Async/Await 似乎没有扩展

asp.net - Repeater中DropDownList的SelectedValue

javascript - JavaScript 计算结果不正确

asp.net - 如何在asp.net中将参数传递给javascript

css - 如何让页脚贴在 asp.net 页面上?