2011-12-27 25 views
1

如何使用Ajax jQuery調用具有以下場景? 有沒有辦法在頁面的PostBack期間使用jQuery只綁定DropDownList如何使用Ajax JQuery調用來創建Page.IsPostBack選項?

<asp:DropDownList ID="ddlState" runat="server" DataSourceID="StateDataSource" DataTextField="State1" 
    Width="155px" DataValueField="State1" TabIndex="10"> 
</asp:DropDownList> 
<asp:ObjectDataSource ID="StateDataSource" runat="server" SelectMethod="State_SelectALL" 
    TypeName="PL.BLL.StateController" EnableCaching="true"> 
</asp:ObjectDataSource> 

回答

1

ScriptManager類提供的屬性IsInAsyncPostback因爲3.5,但你通過的jQuery做Ajax請求,我想你不使用一個ScriptManager。

的jQuery實際上增加了一個HTTP報頭添加到您可以使用服務器端的檢查,如果請求ajaxed或不要求:"X-Requested-With" = "XMLHttpRequest"

// X-Requested-With header 
// For cross-domain requests, seeing as conditions for a preflight are 
// akin to a jigsaw puzzle, we simply never set it to be sure. 
// (it can always be set on a per-request basis or even using ajaxSetup) 
// For same-domain requests, won't change header if already provided. 
if (!s.crossDomain && !headers["X-Requested-With"]) { 
    headers[ "X-Requested-With" ] = "XMLHttpRequest"; 
} 

在你的後臺代碼,你可以添加一個屬性你的頁面(或你的基本頁面 - 或提出延期法)來檢查值:Detecting Ajax Events on the Server

1

public bool IsAjaxPostback 
{ 
    get 
    { 
     return HttpContext.Current.Request.Headers["X-Requested-With"] == "XMLHttpRequest"; 
    } 
} 

關於這個問題的好文章

相關問題