2010-07-30 67 views
1

我想更新我的下拉列表數據源(再次從數據庫中獲取值),但我想從jQuery做到這一點,那裏我插入/更新/從同一個數據庫表中刪除記錄。從jQuery更新ASP.NET下拉數據源

這是我的下拉列表

<asp:DropDownList ID="ddl" runat="server" 
    AppendDataBoundItems="True" 
    DataSourceID="ShortCodeDataSource" 
    DataTextField="ShortcodeId" 
    DataValueField="ShortcodeId"> 
    <asp:ListItem>Select one...</asp:ListItem> 
</asp:DropDownList> 

<asp:ObjectDataSource ID="ShortCodeDataSource" runat="server" 
    SelectMethod="GetAllShortcodes" 
    TypeName="Sod.Iris.Service.ShortcodeService"> 
</asp:ObjectDataSource> 

回答

1

你需要一個ScriptManagerEnablePageMethods = true

然後,你需要在你的頁面的代碼隱藏裝飾有[WebMethod]的方法。該方法將負責在調用數據庫

[WebMethod] 
public string GetNewData() 
{ 
    // Get Data 
    // maybe serialize and return 
} 

那麼你的jQuery需要看起來像這樣:

$.ajax({ 
    type: "POST", 
    url: "MyPage.aspx/GetNewData", 
    data: "{}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(data, msg) { 
    // Do something with data 
    } 
}); 

的成功回調將需要處理返回的數據,並手動填充控件下拉列表。另一種選擇是從Web服務(asmx)獲取序列化數據。它的功能差不多。

希望有幫助!