触发两个aspx页面之间的回发,并改变了asp:dropdown value

时间:2017-07-27 20:25:44

标签: asp.net postback dropdown

我有一个带有div标签的aspx页面:

<div id="report"><div>

我在javascript函数的帮助下调用其他页面,因为&#34; id&#34;决定页面上应该有哪些下拉菜单。

function loadreport(id){
     $("#report").load('/lists.aspx?id=' + id + ' #reportdropdowns', function () {
     });}

在那个lists.aspx中我有几个下拉列表。

<asp:DropDownList ID="Account" AutoPostBack="true"  AppendDataBoundItems="true" runat="server">
<asp:DropDownList ID="Company"  AppendDataBoundItems="true" runat="server">

当我从帐户下拉列表更改值时,它会触发回发事件,但该事件将返回到report.aspx而不是lists.aspx。 我想在report.aspx的page_load中捕获该回发并使用

调用loadreport()
Page.RegisterStartUpScript();

然后它抛出了&#34; id&#34;没有定义的。保持这一点,整个report.aspx正在刷新。 有什么办法,我可以通过传递第一个下拉列表的选定值并仅刷新第二个下拉菜单而不是整个页面来回发到lists.aspx。

1 个答案:

答案 0 :(得分:-1)

如果你通过ajax请求加载aspx页面并将html分配给div,那么你所有的回发控制事件将不适用于通过ajax请求加载的页面。

要实现这一点,你必须使用ajax请求然后才能工作

另一种实现此功能的方法是在iframe中执行整页加载