我要从sql加载数据并基于jquery中的数据绑定到dropdownlist时遇到麻烦。基本上,我使用的是fullcalendar插件,下拉列表需要具有sql的值,该值取决于用户点击的日期。
这是“选择”回调:
select: function (start, end) {
clearValues();
$("#PopupBookForm").modal('show');
$("#CDate").val(moment(start).format("YYYY/MM/DD"));
$("#CTime").val(moment(start).format("HH:mm:ss"));
$("#CEndTime").val(moment(end).format("HH:mm:ss"));
$("#courtDay").text(moment(start).format("dddd"));
getCourt(start);
}
这是getCourt函数:
function getCourt (currentDay)
{
$.ajax({
type: "POST",
data: "{'CurrentDay':'" + currentDay + "'}",
url: "MRBS_BookingCourt.aspx/GetCourt"
});
}
这是来自C#:
[System.Web.Services.WebMethod]
public void GetCourt(DateTime CurrentDay)
{
InsertCourt(CurrentDay);
}
private void InsertCourt(DateTime CurrentDay)
{
string day = CurrentDay.ToString("dddd");
if (day.Equals("Tuesday") || day.Equals("Thursday") || day.Equals("Saturday"))
{
string query = "SELECT courtname FROM MRBS_Court WHERE courtCode = '100'";
SqlCommand cmd = new SqlCommand(query, con);
SqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
DropDownList1.Items.Add(new ListItem(Convert.ToString(reader["courtname"])));
}
reader.NextResult();
}
reader.Close();
}
else
{
ScriptManager.RegisterClientScriptBlock(this, this.Page.GetType(), "alertMessage", "alert('" + day + "');", true);
}
}
因此,当用户单击日历上的星期二,星期四或星期六时,将弹出一个表单,然后该表单中的下拉列表将根据sql中的法院代码加载法院。
这是下拉列表:
<asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList>
非常感谢!