ASP.NET问题的Jquery自动完成

时间:2017-06-09 13:20:44

标签: javascript c# jquery asp.net jquery-ui

我正在使用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>

不知道他们的问题是什么,但是当我运行它时总是进入错误部分。

3 个答案:

答案 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中调用它