【发布时间】:2018-08-01 03:21:48
【问题描述】:
我正在使用 [webmethod] 从 sql-server 检索字符串列表。代码是:
[WebMethod]
public void SelectActivityCheckboxItems(int SystemID)
{
//Configure a connection to SystemRegister database
var cs = ConfigurationManager.ConnectionStrings["SYSTEMREGISTERConnectionString"].ConnectionString;
List<string> SelectedActivity = new List<string>();
//Get the related data for update activty checkbox
using (var con = new SqlConnection(cs))
{
con.Open();
var cmd = new SqlCommand("setModalSystemUpdate", con) { CommandType = CommandType.StoredProcedure };
cmd.Parameters.AddWithValue("@SYSTEMID", SystemID);
var dr = cmd.ExecuteReader();
while (dr.Read())
{
SelectedActivity.Add(dr[0].ToString());
}
con.Close();
}
var js = new JavaScriptSerializer();
Context.Response.Write(js.Serialize(SelectedActivity));
}
这里是复选框列表:
<div class="scroll">
<fieldset class="form-group">
<label class="col-sm-3">Aktivitet:</label>
<div>
<asp:CheckBoxList CssClass="paddingright" ID="CheckBoxListActivityUpdate" runat="server"
DataSourceID="SqlDataSource6"
DataValueField="ACTIVITYNAME"
RepeatColumns="2">
</asp:CheckBoxList>
</div>
</fieldset>
</div>
在我的 aspx 中,我有这个 Jquery 来“检查”列表中和复选框列表中存在的项目。
$.ajax({
type: "POST",
url: "SystemService.asmx/SelectActivityCheckboxItems",
dataType: "json",
data: '{Value: "' + $("#<%=rowID.ClientID%>").value + '" }',
contentType: "application/json",
success: function (data) {
$.each(function () {
$("#CheckBoxListActivityUpdate").prop('checked', true);
})
}
});
不幸的是,这不起作用,还有其他解决方案吗?
【问题讨论】:
-
哪部分不起作用?
-
没有选中/选中复选框项(数据库中有数据)
-
你调试了吗?你在
res得到什么?$("#CheckBoxListActivityUpdate")是否返回一个元素? -
我修改并删除了 res 和任何其他参数。我的网络服务返回:[{"Attributes":{"Keys":[],"Count":0,"CssStyle":{"Keys":[],"Count":0,"Value":null}}, "已启用":true,"已选择":false,"Text":"Football","Value":"Football"}]
-
我有完全相同的问题(我只是使用 asp c#):stackoverflow.com/questions/15044340/…
标签: jquery asp.net ajax checkboxlist