【发布时间】:2015-01-16 12:05:20
【问题描述】:
我在 asp .net 中创建了一个页面,并在其中添加了 jquery 引用,并将 Web 服务托管在另一台服务器上。我有使用 jQuery 绑定的下拉列表,但它没有绑定,我也无法确定错误是什么。我的代码。
<script src="Script/jquery-1.7.1.min.js" type="text/javascript"></script>
<table>
<tr>
<td>
<asp:DropDownList ID="ddl" runat="server">
</asp:DropDownList>
<asp:HiddenField ID="hf" runat="server" />
</td>
</tr>
</table>
<script language="javascript" type="text/javascript">
$(document).ready(function () {
$('#ddl').append(
$('<option></option>').val('0').html('Please Wait...')
);
$.ajax({
url: "http://***.*.1.165:91/MastersService.asmx/GetDocTypeList",
data: "{}",
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: OnSuccess,
error: OnError
});
// for get selected value from code behind
$('#ddl').change(function () {
$('#hf').val($('#ddl').val());
});
});
function OnSuccess(data) {
$('#ddl').empty();
var d = data.d;
var dropdown = $('#ddl');
for (var i = 0; i < d.length; i++) {
dropdown.append(
$('<option></option>').val(d[i].docCode.toString()).html(d[i].docName.toString())
);
}
//for keep data after postback
$('#ddl').val($('#hf').val());
}
function OnError() {
alert("Failed!");
}
</script>
网络方法..
[System.Web.Script.Services.ScriptService]
public class MastersService : System.Web.Services.WebService
{
[WebMethod]
public List<DocType> GetDocTypeList()
{
DataTable dt = MM.DocumentTypeList();
List<DocType> doctype = new List<DocType>();
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
DocType objst = new DocType();
objst.docCode = Convert.ToString(dt.Rows[i]["docCode"]);
objst.docName = Convert.ToString(dt.Rows[i]["docName"]);
doctype.Insert(i, objst);
}
}
return doctype;
}
}
【问题讨论】:
-
请告诉我如何得到确切的错误。
标签: jquery asp.net web-services asp.net-ajax