Расширения SharePoint для VS - какую версию я получил?
Я использую Visual Studio 2008 и скачал VSeWSS.exe 1.2, чтобы включить разработку веб-частей. Я новичок в разработке SP, и меня уже сбивает с толку количество различных версий SP и дополнений VS. Эта конкретная проблема возникла, что подчеркивает мое замешательство.
Я выбрал Добавить -> Новый проект -> Visual C# -> SharePoint-> Веб-часть, принял значения по умолчанию, и VS создал проект с главным файлом WebPart1.cs.
using System;
using System.Runtime.InteropServices;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.WebPartPages;
namespace WebPart1
{
[Guid("9bd7e74c-280b-44d4-baa1-9271679657a0")]
public class WebPart1 : System.Web.UI.WebControls.WebParts.WebPart
{
public WebPart1()
{
}
protected override void CreateChildControls() // <-- This line
{
base.CreateChildControls();
// TODO: add custom rendering code here.
// Label label = new Label();
// label.Text = "Hello World";
// this.Controls.Add(label);
}
}
}
Книга, которую я читаю, Essential SharePoint 2007, написанная Джеффом Уэббом, содержит следующее для проекта по умолчанию:
using System;
<...as previously>
namespace WebPart1
{
[Guid("9bd7e74c-280b-44d4-baa1-9271679657a0")]
public class WebPart1 : System.Web.UI.WebControls.WebParts.WebPart
{
// ^ this is a new style (ASP.NET) web part! [author's comment]
protected override void Render(HtmlTextWriter writer) // <-- This line
{
// This method draws the web part
// TODO: add custom rendering code here.
// writer.Write("Output HTML");
}
}
}
Настоящая причина моей обеспокоенности заключается в том, что в этой главе книги автор часто упоминает различие между веб-частями "старого стиля" и веб-частями "нового стиля", как отмечено в его комментарии к методу рендеринга.
Что произошло? Почему моя веб-часть по умолчанию получила другую подпись для авторов?
1 ответ
Различие, которое автор делает с веб-частями "нового стиля", состоит в том, что они являются веб-частями ASP.NET 2.0 (выпущенными в 2005 году), которые могут использоваться как в SharePoint, так и в ASP.NET. Веб-части старого стиля были специфичны для SharePoint
- Новый стиль System.Web.UI.WebControls.WebParts.WebPart, доступный в ASP.Net 2.0 (2005) и WSS 3.0 (2006)
- Старый стиль Microsoft.SharePoint.WebPartPages.WebPart (по-прежнему поддерживается)
В примерах кода, о которых идет речь, обе веб-части имеют новый стиль, т.е. это веб-части ASP.NET. Единственное отличие состоит в том, что визуальная студия переоценила другой метод, нежели книга. Однако оба метода, и многие другие, например. OnLoad, OnInit доступны и будут настроены для работы веб-части.
После нескольких месяцев разработки веб-части я рекомендую использовать первую в качестве основы для веб-части "Привет, мир", т.е.
protected override void CreateChildControls()
{
base.CreateChildControls();
Label label = new Label();
label.Text = "Hello World";
this.Controls.Add(label);
}
А затем начните добавлять код к этому методу или добавьте другие методы (например, OnLoad, OnPrerender) для добавления функциональности.
Метод Render не будет переопределен в большинстве веб-частей.