Публикация страницы в папке LAYOUTS
Для публикации страницы ASPX в папке LAYOUTS мы создадим новый проект на основе шаблона SharePoint, если в вашей системе не установлен данный тип шаблона загрузите его с сайта компании Microsoft
После создания проекта добавьте необходимые сборки для построения библиотеки.
Создайте файл который будет обрабатывать логику вашей страницы
GetData.aspx.cs
using System;
using Microsoft.SharePoint;
namespace OpenTech.SIMR.GetData
{
public partial class GetData : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string url = "http://localhost";
string name = "dbrn";
string listName = "Хранилище документов";
string query = @"<Where>
<Eq>
<FieldRef Name='Created' />
<Value Type='DateTime'>2008-10-06T00:00:00Z</Value>
</Eq>
</Where>";
if (Request.Params.Get("query") != null)
{
query = Request.Params.Get("query");
}
if (Request.Params.Get("name") != null)
{
name = Request.Params.Get("name");
}
if (Request.Params.Get("urlHome") != null)
{
url = Request.Params.Get("urlHome");
}
if (Request.Params.Get("listName") != null)
{
listName = Request.Params.Get("listName");
}
//Response.Charset = "UTF-8";
Response.ContentType = "application/xml";
Response.Write(GetList(url, name, listName, query));
}
/// <summary>
/// Получение списка в виде датасета.
/// </summary>
/// <param name="url">Адрес сайта</param>
/// <param name="name">имя сайта</param>
/// <param name="listName">Имя списка</param>
/// <param name="camlString">Запрос в виде стороки CAML запроса</param>
/// <returns></returns>
public static string GetList(string url, string name, string listName, string camlString)
{
string ret = "";
using (SPWeb webSite = new SPSite(url).AllWebs[name])
{
SPList list = webSite.Lists[listName];
SPQuery query = new SPQuery();
query.Query = camlString;
SPListItemCollection items = list.GetItems(query);
ret = items.Xml;
}
return ret;
}
}
}
Создайте папку TEMPLATE и в ней папку LAYOUTS
Далее добавьте новый предмет в проект
И добавьте в него следующий код:
<%@ Page Language="C#" AutoEventWireup="true" Inherits="OpenTech.SIMR.GetData.GetData, OpenTech.SIMR.GetData, Version=1.0.0.0, Culture=neutral, PublicKeyToken=022aa651ef18dc3c" ValidateRequest="false" %>
Произведите развертывание решения(правый шелчок мыши по проекту пункт Deploy) и узнайте значение PublicKeyToken, на рисунке ниже он обведен линией
После этого вы можете добавлять и улучшать код в вашу страницу…
Комментариев нет:
Отправить комментарий