2017-07-27 51 views
0

我有div标签的aspx页面:触发回传:下拉值

<div id="report"><div> 

我呼吁其他页面的JavaScript函数的帮助,因为“ID”决定页面上应该能够显示哪些下拉菜单。

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中的使用

Page.RegisterStartUpScript(); 

然后,它已抛出的没有定义“ID”的错误调用loadreport()。除此之外,整个report.aspx正在刷新。 有没有什么办法,我可以通过传递第一个下拉列表的选定值并仅刷新第二个下拉列表而不是整个页面来回传给lists.aspx。

+0

因为你有:的AutoPostBack =“真” –

+0

没有AutoPostBack =“true”,我需要隐藏一个按钮,然后使该按钮触发回发,但仍然该回发将report.aspx不lists.aspx –

回答

-1

如果您通过ajax请求加载aspx页面并将html分配给div,那么您的所有回发控件事件都不会与通过ajax请求加载的页面一起工作。

要做到这一点,你必须使用AJAX请求,那么它会工作

另一种方法,使这项工作是做一个完整的页面加载在iframe