谁能帮我解决这个问题。我只想使用 c# 和 javascript 在带有数据库字段的 html 元素中添加一个项目,但我的代码没有输出。此外,我尝试输入一个按钮并在按钮的 onClick 属性上调用函数“loadGrp”。例如:input type="submit"value="Add Item"onClick ="loadGrp();"但它也不起作用。如何解决这个问题,我知道有人有能力解决这个问题,所以请帮帮我伙计们..
JS
function loadGrp()
{
$.ajax({
type: 'POST',
url: '../WebService/wsLeaveRequest.asmx/LoadGroup',
dataType: 'json',
//data: '',
contentType: 'application/json; charset=utf-8',
success: function (response){
$('#cboGroup').empty();
var cell = eval("(" + response.d + ")");
for (var i = 0; i < cell.length; i++)
{
$('#cboGroup').append('<option value="' + cell[i].grpID + '">"' + cell[i].grpShortName + '</option>');
}
},
error: function (error) {
console.log(error);
},
complete: function () {
}
});
}
C#
[WebMethod]
public string LoadGroup()
{
List<GroupInfo> mylist = new List<GroupInfo>();
using (SqlConnection conn = new SqlConnection(connectionString()))
{
conn.Open();
SqlCommand cmd = new SqlCommand("spLoadGroup", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandTimeout = 0;
SqlDataReader dr = cmd.ExecuteReader();
while(dr.Read())
{
mylist.Add(new GroupInfo
{
grpID = dr["groupID"].ToString(),
grpShortName = dr["groupShortName"].ToString()
});
}
dr.Close();
conn.Close();
}
JavaScriptSerializer js = new JavaScriptSerializer();
string jsn = js.Serialize(mylist);
return jsn;
}
HTML
<!DOCTYPE html>
<html>
<script src="Script/jsSetting.js"></script>
<script src="Script/jsleaverequest.js"></script>
<div class="row cells12">
<div class="cell colspan3">
<div class="input-control select full-size">
<h5>Filter Group:</h5>
<select id="cboGroup"></select>
</div>
</div>
</div>
</div>
<body>
<head>
</head>
</body>
</html>
最佳答案
这里有几个观察结果
url: '../WebService/wsLeaveRequest.asmx/LoadGroup',
..
在这里可能没有任何意义如果页面中没有表单,则将
input type = "submit"
替换为input type = "button"
var cell = eval("("+ response.d + ")");
似乎有问题。使用eval
不是一个好主意,特别是在这里它似乎没有任何意义。
将调试器或日志语句放在 function loadGrp
的第一行,然后查看函数是否在单击按钮时执行。然后从开发人员窗口检查(对于 Chrome,按 f12 -> 点击网络 -> 点击输入类型 = 按钮
)并验证它是否正在进行任何网络调用并验证它的响应
关于javascript - 使用带有 sql server 字段的 c#、javascript 和 HTML 在 <select> 元素中添加项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49663444/