我正在使用asp.net的JqueryUI自动完成小部件 我创建一个类文件,其中包含将返回搜索结果列表的方法。 在aspx页面上,我调用了所有必需的jquery文件。 在脚本部分我写下代码:
<script type="text/javascript">
$(document).ready(function () {
$("#txtSearch").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "CommonOperation.cs/GetClientName",
data: "{'SearchVal':'" + document.getElementById('<%=txtSearch.ClientID%>').value + "'}",
dataType: "json",
success: function (data) {
response(data.d);
},
error: function (result) {
alert("Error......");
}
});
}
});
});
</script>
不知道他们的问题是什么,但是当我运行它时总是进入错误部分。
答案 0 :(得分:1)
您无法将Web方法放在类文件中,因为该方法本身需要可通过Web访问。
将其移至标准ASPX页面的代码隐藏,并使用.aspx
链接而不是.cs
。
另一种选择只是使用.asmx
,而是将您的课程附加到其中。 This answer提供了一些相关信息:
您可以使用类似于asmx(ASP.Net Web服务)的内容来公开Web方法。该文件基本上只是一个指向类文件的标记占位符。内容只是:
<%@ WebService Language="C#" CodeBehind="~/foo/MyClass.cs" Class="MyClass" %>
然后你的班级必须继承
System.Web.Services.WebService
,你应该做得很好。如果您从Visual Studio添加文件并添加Web服务文件,您可以让它为您创建所有这些文件。
答案 1 :(得分:0)
这里的网址应该是这样的 - &gt;网址:&#34; CommonOperation.aspx / GetClientName&#34;,
答案 2 :(得分:-1)
完成它 方法将是静态的并声明为WebMethod并从aspx.cs中调用它