我想更新我的下拉列表数据源(再次从数据库中获取值),但我想从jQuery中执行此操作,在那里我插入/更新/删除同一数据库表中的记录。
这是我的下拉列表
<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>
答案 0 :(得分:3)
此外,除了a432511发布的代码之外,您还可以使用UpdatePanel方法。 将您的下拉列表放在UpdatePanel中,然后从jquery中调用refresh。 在此链接上,您可以获得如何执行此操作的示例:
http://encosia.com/2007/07/13/easily-refresh-an-updatepanel-using-javascript/
欢呼声
答案 1 :(得分:1)
您需要ScriptManager
EnablePageMethods = 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)获取序列化数据。它的功能大致相同。
希望有所帮助!