вторник, 7 октября 2008 г.

Publish in LAYOUTS Folder in MOSS

Публикация страницы в папке LAYOUTS

Для публикации страницы ASPX в папке LAYOUTS мы создадим новый проект на основе шаблона SharePoint, если в вашей системе не установлен данный тип шаблона загрузите его с сайта компании Microsoft

http://www.microsoft.com/downloads/details.aspx?FamilyID=7bf65b28-06e2-4e87-9bad-086e32185e68&displaylang=en

CreateProject 

После создания проекта добавьте необходимые сборки для построения библиотеки.

References

Создайте файл который будет обрабатывать логику вашей страницы

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

 NewFolder

Далее добавьте новый предмет в проект

addNew

template

И добавьте в него следующий код:

<%@ 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, на рисунке ниже он обведен линией

 key

После этого вы можете добавлять и улучшать код в вашу страницу…

Комментариев нет: