Как сделать JQuery AJAX-запрос с HTTP-обработчиком в Sharepoint 2010? - PullRequest
2 голосов
/ 04 августа 2011

Я разрабатываю визуальную веб-часть SP 2010, которая должна загружать некоторые данные через AJAX.

Я нашел эту очень полезную статью , но у меня есть некоторые сомнения по этому поводу.

У меня есть проект Visual Web Part, внутри у меня есть Visual Web Part и некоторые другие файлы.В статье говорится, что мне нужно создать файл .ashx, который будет действовать как обработчик HTTP.Вот что я сделал, я создал «MyHandler.ashx» в корне проекта и поместил директиву WebHandler.Но я не уверен насчет директивы Assembly.

Затем говорится, что нам нужно создать реализацию для обработчика и указать на него.Я считаю, что у меня есть эта часть в порядке.

Тогда мне нужно сделать фактический клиентский вызов через jQuery.Вот часть, которую я не знаю, как это сделать, потому что я не знаю URL, где развертывается .ashx (если он даже развертывается ...).

Я пытаюсь:

$.get('/_layouts/SomeNamespace/MyHandler.ashx', ...)

Но это не работает ... опять же, не знаю URL обработчика ...

Я довольно новичок в разработке Sharepoint, поэтому, пожалуйста, не будь грубым =)

Спасибо!

Вот упрощенные версии файлов моего обработчика.

MyHandler.ashx

<%@ WebHandler Language="C#" Class="SomeNamespace.MyHandler" CodeBehind="MyHandler.cs" %>

MyHandler.cs

namespace SomeNamespace
{
    public class MyHandler : IHttpHandler
    {
        public bool IsReusable { get { return false; } }


        public void ProcessRequest(HttpContext context)
        {
            context.Response.Write("From the handler at " + DateTime.Now);
        }

        // bunch of methods
     }
}

1 Ответ

4 голосов
/ 04 августа 2011

Я создал «MyHandler.ashx» в корне проекта

Необходимо развернуть MyHandler.ashx в _layouts / SomeNamespace / . Используйте Добавить -> Сопоставленная папка "_Layouts" SharePoint в Visual Studio Solution Explorer.

...