首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在web自定义控件中自动回发,该控件有3个绑定下拉toghether

在web自定义控件中自动回发,该控件有3个绑定下拉toghether
EN

Stack Overflow用户
提问于 2015-08-18 10:38:46
回答 3查看 100关注 0票数 0

我有18个自定义的web用户控件。我在div中加载web用户控件。它工作正常,在更改或回发时没有问题。

但我有三个下拉列表在一个自定义web用户控件绑定在一起。

例如国家,城市,街道。

在自定义的web用户控制负载中,我填充国家。在选定的国家指数变化中,我填充城市。在选定的城市指数变化中,我填满了街道。

所有三个下拉列表都是自动回发。

,但在选定的国家,索引更改,正确工作,并设置城市(自定义web用户控件重新加载正确)。

但在城市中,选择的索引发生了变化(自定义web用户控件再次放松,重新设置国家,重新设置城市,并重置所有选择)。

在本州城市下拉列表中,忘记选定的项目。

我在页面中使用更新面板,在页面和更新面板中的div中加载控件,有三个绑定在一起的下拉列表。但不能正确设置。谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-23 14:33:50

我可以控制这个问题,用两项来解决。没有jquery

1-很多java脚本2-.net asp c#

在城市下拉列表的onchange(客户端事件)中,我选择索引并设置一个文本框,该文本框由以下代码放置在主页面或主页中。

代码语言:javascript
运行
复制
*temp = document.getElementById("x17_ddclans");//x17 is id of my control
    document.getElementById("th").value= temp.selectedIndex;
//th is textbox that placed in main page*

然后在主页面中加载表单,用javascript隐藏

在textbox的文本更改中,我设置了一个包含th.text注释的会话:在textbox中启用自动回发

因为我使用更新面板,用户无法看到页面回发。

最后

在“控制的加载页”(X17)中:我得到包含选定值和设置街道的会话和设置国家、正常集、城市和会话。

它正常工作。

票数 0
EN

Stack Overflow用户

发布于 2015-08-18 10:48:59

这是常见的行为。当然,当你在做回发的时候,你的跌势会重新振作起来。所以,你必须做几件事。

  1. 维护hidden字段。当您为countrycity下拉列表进行选择时,请将selected index (或值)复制到隐藏字段中。
  2. 然后,在Page_Load事件中,在Is PostBack中填充country下拉列表,通过使用隐藏字段值,您可以将下拉设置为以前选择的值。同样的过程,你可以重复城市下拉。 或 在下拉列表的SelectIndexChanged事件中执行步骤2.
票数 0
EN

Stack Overflow用户

发布于 2015-08-18 10:53:11

您可以在jQuery中使用ajax函数:

代码语言:javascript
运行
复制
     <asp:DropDownList ID="DropDownList1" Width="250px" AutoPostBack="true" runat="server">
     <asp:DropDownList ID="DropDownList2" Width="250px" AutoPostBack="true" runat="server">
     <asp:DropDownList ID="DropDownList3" Width="250px" AutoPostBack="true" runat="server">
     ...
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
     $(document).ready(function () {
        $("#<%= DropDownList1.ClientID %>").change(function () {
            var ddl1SelectedValue = $("#<%= DropDownList1.ClientID %> option:selected").val();
            var data2 = { "Value2": ddl1SelectedValue };
            var json2 = JSON.stringify(data2);
            $.ajax
            ({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                data: json2,
                url: "Default.aspx/BindDropDownList2",
                success: function (result2) {
                    ...
                    });                    },
                error: function (status, ex) {
                    alert("Error Code2: Status: " + status + " Ex: " + ex);
                }
            });
        });
    });

对第三个级联的DropDownList也执行同样的操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32070077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档