Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Ajax创建下拉控件_C#_.net_Ajax - Fatal编程技术网

C# 使用Ajax创建下拉控件

C# 使用Ajax创建下拉控件,c#,.net,ajax,C#,.net,Ajax,到发帖之日为止,我已经用了10多种染料,但无法解决我的问题:( 我有一个db表位置,它有3个文件:LocID、locName、locParent 我想创建一个DropDownList,其中包含所有主要位置,例如国家/地区。 然后,当用户选择一个位置(例如一个国家)时 该国家/地区的所有城市都会在动态创建的下拉列表中重新加载 此页面必须具有无限的子类别。 此外,解决方案必须在Ajax和C#中。您需要将AjaxExtensions(随.net 3.5提供)添加到.net 2.0应用程序中 这将需要页

到发帖之日为止,我已经用了10多种染料,但无法解决我的问题:(

我有一个db表位置,它有3个文件:LocID、locName、locParent

我想创建一个
DropDownList
,其中包含所有主要位置,例如国家/地区。 然后,当用户选择一个位置(例如一个国家)时 该国家/地区的所有城市都会在动态创建的下拉列表中重新加载

此页面必须具有无限的子类别。
此外,解决方案必须在
Ajax
C#
中。您需要将AjaxExtensions(随.net 3.5提供)添加到.net 2.0应用程序中

这将需要页面上的ToolKitScriptManager

在页面上放置三个下拉列表,分别命名为ddlCountry、ddlCity和ddlMainLocation

(可选)将两个“子”下拉列表放置在设置为“不可见”的面板中

在页面加载时,使用SqlDataBase读取器从数据库中提取位置信息

使用reader,遍历记录并将项目添加到下拉列表中

例如

在“国家/地区”下拉列表中添加以下属性:

  • OnSelectedINdexChanged=“ddlCountries\u SelectedIndexChanged”
  • AutoPostback=“true”
  • (1) 将对正在更改的索引执行命令 (2) 将在项目更改时触发回发

    然后,DDLU SelectedIndexChanged事件方法将查询数据库中属于所选国家代码的相关城市(或将该值作为包含城市的表的外键)

    现在测试代码以确保回发会导致城市列表中填充数据。此时,它是一个带有回发的普通ASP.Net页面。要完成部分回发,请在标记中,在下拉列表周围添加一个updatepanel。如下所示:

    <asp:UpdatePanel runat="server" id="upnlDropdowns" UpdateMode="Conditional">
                            <Triggers>
                                <asp:AsyncPostBackTrigger ControlID="ddlCountries" EventName="OnSelectedIndexChanged" />
                            </Triggers>
    <ContentTemplate>
    <!--... Your Drop downs and any code to be Ajaxified .../-->
    </ContentTemplate>
    </asp:UpdatePanel>
    
    
    
    再次测试并确保所有内容仍在运行。如果是,则可以添加第三个下拉列表。这一次,它将由城市下拉列表中选定的索引更改事件填充

    一旦一切正常,您可以添加一个updateprogress,扩展updatePanel以显示一个正常工作的图像,从而为其添加惊喜因素


    祝你好运!

    如果这不合理,请添加评论,我将尝试进一步解释,但我希望在代码隐藏中动态创建下拉列表。我不希望仅限于3个下拉列表。
    <asp:UpdatePanel runat="server" id="upnlDropdowns" UpdateMode="Conditional">
                            <Triggers>
                                <asp:AsyncPostBackTrigger ControlID="ddlCountries" EventName="OnSelectedIndexChanged" />
                            </Triggers>
    <ContentTemplate>
    <!--... Your Drop downs and any code to be Ajaxified .../-->
    </ContentTemplate>
    </asp:UpdatePanel>