gpt4 book ai didi

asp.net - 使用 AJAX 填充下拉列表

转载 作者:行者123 更新时间:2023-12-04 18:15:01 24 4
gpt4 key购买 nike

我有 3 个下拉框,使用 HTML 选择标签创建。在页面加载时,第一个框有几个名称。现在,当我单击第一个框中的一个名称时,第二个框中应出现更多名称,当我单击第二个框中的名称时,第三个框中应出现更多名称。如何使用 实现此目的 Ajax ?我必须使用 ASP.Net 微软 SQL 服务器 只要。我完全是 AJAX 的菜鸟,我一直在自学它,但没有任何结果。我一直在寻找代码近一周。我查找了 w3schools.com,但是当我尝试该代码时,它不起作用。请帮助我,并逐步告诉我,使其工作所需的东西,以及去哪里。我的最后期限很快就要到了,我想尽办法让它发挥作用。帮我!!

最佳答案

我建议将三个下拉列表放在 UpdatePanel 中,并为每个更新面板添加一个触发器。然后,当值更改时,重新填充下拉列表并让更新面板推送更新。还保留 session 状态以防您要提交值。

我面前没有编译器,但如果需要,只需发表评论,我明天会发布代码。

工作示例

我正在使用 Visual Studio 和母版页附带的“传统模板”,所以请原谅内容占位符。但这应该证明我的意思:

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="MultiDropDown.aspx.cs" Inherits="AppSettingsRetrieval.MultiDropDown" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
String[] options = new[] { "ABC", "DEF", "GHI", "JKL", "MNO", "PQR", "STU", "VWX", "YZA" };
foreach (String option in options)
{
this.DropDownList1.Items.Add(new ListItem(option, option));
}
}
}

public void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
this.DropDownList2.Items.Clear();
this.DropDownList2.Items.Add(new ListItem("--- Please Select One ---"));

String[] options = new[] { "123", "456", "789", "101", "112", "131", "415", "161", "718" };
foreach (String option in options)
{
var str = String.Format("{0} {1}", this.DropDownList1.SelectedValue, option);
this.DropDownList2.Items.Add(new ListItem(str, str));
}
this.DropDownList2.Enabled = true;

this.DropDownList3.Enabled = false;
}

public void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
this.DropDownList3.Items.Clear();
this.DropDownList3.Items.Add(new ListItem("--- Please Select One ---"));

String[] options = new[] { "test", "testing", "tester", "foo", "bar", "foobar" };
foreach (String option in options)
{
var str = String.Format("{0} {1}", this.DropDownList2.SelectedValue, option);
this.DropDownList3.Items.Add(new ListItem(str, str));
}
this.DropDownList3.Enabled = true;
}
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<asp:ScriptManager runat="server" ID="ScriptManager1"></asp:ScriptManager>

<asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional">
<ContentTemplate>
<fieldset>
<legend>Consecutive Dropdown List</legend>
<p>
Primary Filter:
<asp:DropDownList runat="server" ID="DropDownList1" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem Text="---Please Select One---" />
</asp:DropDownList>
</p>
<p>
Secondary Filter:
<asp:DropDownList runat="server" ID="DropDownList2" OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged" AutoPostBack="true" Enabled="false">
<asp:ListItem Text="---Please Select One---" />
</asp:DropDownList>
</p>
<p>
Final Filter:
<asp:DropDownList runat="server" ID="DropDownList3" Enabled="false">
<asp:ListItem Text="---Please Select One---" />
</asp:DropDownList>
</p>
</fieldset>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>

关于asp.net - 使用 AJAX 填充下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5216990/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com