我有18个自定义的web用户控件。我在div中加载web用户控件。它工作正常,在更改或回发时没有问题。
但我有三个下拉列表在一个自定义web用户控件绑定在一起。
例如国家,城市,街道。
在自定义的web用户控制负载中,我填充国家。在选定的国家指数变化中,我填充城市。在选定的城市指数变化中,我填满了街道。
所有三个下拉列表都是自动回发。
,但在选定的国家,索引更改,正确工作,并设置城市(自定义web用户控件重新加载正确)。
但在城市中,选择的索引发生了变化(自定义web用户控件再次放松,重新设置国家,重新设置城市,并重置所有选择)。
在本州城市下拉列表中,忘记选定的项目。
我在页面中使用更新面板,在页面和更新面板中的div中加载控件,有三个绑定在一起的下拉列表。但不能正确设置。谢谢
发布于 2015-08-23 14:33:50
我可以控制这个问题,用两项来解决。没有jquery
1-很多java脚本2-.net asp c#
在城市下拉列表的onchange(客户端事件)中,我选择索引并设置一个文本框,该文本框由以下代码放置在主页面或主页中。
*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)中:我得到包含选定值和设置街道的会话和设置国家、正常集、城市和会话。
它正常工作。
发布于 2015-08-18 10:48:59
这是常见的行为。当然,当你在做回发的时候,你的跌势会重新振作起来。所以,你必须做几件事。
hidden
字段。当您为country
或city
下拉列表进行选择时,请将selected index
(或值)复制到隐藏字段中。Page_Load
事件中,在Is PostBack
中填充country
下拉列表,通过使用隐藏字段值,您可以将下拉设置为以前选择的值。同样的过程,你可以重复城市下拉。
或
在下拉列表的SelectIndexChanged
事件中执行步骤2.发布于 2015-08-18 10:53:11
您可以在jQuery中使用ajax函数:
<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也执行同样的操作。
https://stackoverflow.com/questions/32070077
复制相似问题