Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SharePoint ASMX、AJAX_C#_Jquery_Ajax_Sharepoint_Asmx - Fatal编程技术网

C# SharePoint ASMX、AJAX

C# SharePoint ASMX、AJAX,c#,jquery,ajax,sharepoint,asmx,C#,Jquery,Ajax,Sharepoint,Asmx,我已经在一个项目上工作了一段时间,该项目将使用JQueryUI自动完成用户名(基于SPWeb.alluser),并将以相同的形式从一个潜在的大列表中分别提取内容。我最初尝试了一个页面方法,但除了整个页面的html之外,无法获得返回(尽管设置了内容类型等),因此我继续尝试通过ASMX返回。结果是500美元。运行Fiddler时出现了完整的ASP错误:“您试图保存或检索的文件已被服务器管理员从该网站阻止。”我相当确定该方法中的代码没有被命中,因为该方法第一行上设置的断点没有被触发 以下是我的web服

我已经在一个项目上工作了一段时间,该项目将使用JQueryUI自动完成用户名(基于SPWeb.alluser),并将以相同的形式从一个潜在的大列表中分别提取内容。我最初尝试了一个页面方法,但除了整个页面的html之外,无法获得返回(尽管设置了内容类型等),因此我继续尝试通过ASMX返回。结果是500美元。运行Fiddler时出现了完整的ASP错误:“您试图保存或检索的文件已被服务器管理员从该网站阻止。”我相当确定该方法中的代码没有被命中,因为该方法第一行上设置的断点没有被触发

以下是我的web服务:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class projectWebService : System.Web.Services.WebService
{
    public class person
    {
        public person(string name, string company)
        {
            this.name = name;
            this.company = company;
        }

        public string name { get; set; }
        public string company { get; set; }
    }

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public static string getNames()
    {
        try
        {
            //Query list to filter by company and sort by name
            var userQuery = from SPUser user in SPContext.Current.Web.AllUsers
                            orderby user.Name ascending
                            select user;

            List<person> userList = new List<person>();
            foreach (SPUser user in userQuery)
            {
                userList.Add(new person(user.Name, "something"));
            }

            JavaScriptSerializer serializer = new JavaScriptSerializer();
            return serializer.Serialize(userList);
        }
        catch (Exception ex)
        {
            return ex.Message;
        }
    }
}
试图设置“UseHttpGet”并发出GET请求也未成功

我在这里发现了一个相关的问题: 我认为这是徒劳的

而且, 这对我来说不起作用,而是得到一个无效web.config的ASP错误


我希望有人以前处理过这个问题,或者看到了我不知道的事情。谢谢你的帮助

事实证明,我忽略了一个关键行为:web服务类和页面方法都无法从用户控件中访问,而我正试图将其作为SharePoint web部件的一部分。因此,也不能从web部件中访问它。我的解决方案是创建一个单独的asmx web服务,并通过说明将其作为场解决方案部署到我的站点。从那以后,我就相对轻松了。

那么500人说了些什么呢?编辑过的道歉,在整理我的想法时,这一部分我忘了。谢谢
$.ajax({
        type: 'POST',
        dataType: 'json',
        data: '{}',
        contentType: 'application/json; charset=utf-8',
        url: 'projectWebService.asmx/getNames',
        success: function (msg) {
            alert(msg.toString());
            var people = $.parseJSON(msg);
            $('#projectManager').autocomplete({
                source: people
            });
        },
        error: function (xhr, msg, error) {
            alert(msg.toString());
            alert(error);
        }
    });