2017-07-27 75 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