Instruktaż: Tworzenie składnika Web Part dla programu SharePoint przy użyciu projektanta
Składniki Web Part umożliwiają użytkownikom bezpośrednio modyfikować zawartość, wygląd i zachowanie strony witryny programu SharePoint przy użyciu przeglądarki.W tym instruktażu przedstawiono sposób tworzenia składnika Web Part za pomocą programu SharePoint Visual Web Part szablonu projektu w Visual Studio.
Składnik Web Part wyświetla miesięczny widok kalendarza, a pole wyboru dla każdej listy kalendarza w witrynie.Użytkownicy mogą wybrać kalendarz, który wyświetla uwzględnienie w widoku Kalendarz miesięczny, zaznaczając pola wyboru.
Ten instruktaż ilustruje następujące zadania:
Tworzenie składnika Web Part za pomocą Visual Web Part szablonu projektu.
Projektowanie składnika Web Part przy użyciu projektanta Visual Web Developer w Visual Studio.
Dodawanie kodu do obsługi zdarzeń formantów w części sieci Web.
Testowanie składnika Web Part programu SharePoint.
[!UWAGA]
Komputer może pokazać różne nazwy lub lokalizacje dla niektórych użytkowników programu Visual Studio elementów interfejsu w poniższe instrukcje.Program Visual Studio, że masz i ustawień, które można używać określenia tych elementów.Aby uzyskać więcej informacji, zobacz Visual Studio, ustawienia.
Wymagania wstępne
Potrzebne do przeprowadzenia tego instruktażu następujące składniki:
Obsługiwane wersje systemu Microsoft Windows i programu SharePoint.Aby uzyskać więcej informacji, zobacz Wymagania dotyczące rozwiązań programu SharePoint.
Visual Studio Professionallub wydanie programu Visual Studio aplikacji cyklu zarządzania (ALM).
Tworzenie projektu składników Web Part
Najpierw utwórz projekt składnika Web Part za pomocą Visual Web Part szablonu projektu.
Aby utworzyć projekt Visual część sieci Web
Uruchom Visual Studio za pomocą Uruchom jako Administrator opcji.
Na pasku menu wybierz pliku, Nowy, projektu.Jeśli Twój IDE Użyj ustawień programowania Visual Basic, na pasku menu, wybierz pliku, Nowy projekt.
Nowy projekt pojawi się okno dialogowe.
W Nowy projekt okno dialogowe, w ramach Visual C# lub języka Visual Basic, rozwiń SharePoint węzła, a następnie wybierz polecenie 2010 węzła.
W Visual Studio zainstalowane szablonów okienku wybierz Składnika Web Part programu SharePoint 2010 Visual szablonu, a następnie wybierz polecenie OK przycisku.
Kreator dostosowania programu SharePoint pojawi się.Za pomocą tego kreatora, można określić witryny, która będzie używać do debugowania projektu i poziom zaufania roztworu.
W Co to jest poziom zaufania dla tego rozwiązania programu SharePoint? sekcji, wybierz Wdroż jako roztwór farmy przycisku opcji.
Wybierz Zakończ przycisk, aby zaakceptować domyślne lokalnej witryny programu SharePoint.
Projektowanie składnika Web Part
Projektowanie składnika Web Part, dodając formanty z Przybornik do powierzchni kontroli użytkownika.
Aby zaprojektować układ składnika Web Part
W projektancie Visual Web Developer wybierz Projekt tab, aby przełączyć do widoku projektu.
Na pasku menu wybierz widoku, Przybornik.
W Standard węzeł Przybornik, wybierz polecenie CheckBoxLIst kontroli, a następnie wykonaj jedną z następujących czynności:
Otwórz menu skrótów dla CheckBoxList kontroli i wybierz polecenie kopięwybrać pierwszy wiersz w projektancie, otwórz menu skrótów dla wiersza, a następnie wybierz Wklej.
Przeciągnij CheckBoxList kontroli z Przybornik i podłącz go do pierwszego wiersza w konstruktorze.
Powtórz poprzedni krok, ale przenieść przycisk do następnego wiersza projektanta.
W projektancie wybierz Button1 przycisku.
Na pasku menu wybierz widoku, Okno właściwości.
Właściwości okno.
W tekstu właściwości przycisku, wprowadź aktualizacji.
Obsługa zdarzeń formantów w części sieci Web
Dodaj kod, który umożliwia użytkownikowi dodawanie kalendarzy w widoku kalendarza głównego.
Do obsługi zdarzeń formantów w części sieci Web
Wykonaj jedną z następujących czynności:
W projektancie, kliknij dwukrotnie Aktualizacja przycisku.
W Właściwości okna dla Aktualizacja przycisku, wybierz polecenie zdarzenia przycisku.W kliknij właściwość, wprowadź Button1_Click, a następnie wybierz klawisz Enter.
Plik kodu kontroli użytkownika zostanie otwarty w edytorze kodu i Button1_Click pojawia się obsługi zdarzeń.Później dodasz kod do obsługi tego zdarzenia.
Dodaj następujące instrukcje do początku pliku kodu kontroli użytkownika.
Imports Microsoft.SharePoint Imports Microsoft.SharePoint.WebControls
using Microsoft.SharePoint; using Microsoft.SharePoint.WebControls;
Dodaj następujący wiersz kodu VisualWebPart1 klasy.Ten kod deklaruje formantu widoku kalendarza miesięcznego.
Private MonthlyCalendarView1 As MonthlyCalendarView
private MonthlyCalendarView MonthlyCalendarView1;
Zamień Page_Load metoda VisualWebPart1 klasy następującym kodem.Ten kod wykonuje następujące zadania:
Widok kalendarza miesięcznego dodaje do kontroli użytkownika.
Dodaje pole wyboru dla każdej listy kalendarza w witrynie.
Określa szablon dla każdego typu elementu, który pojawia się w widoku Kalendarz.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load MonthlyCalendarView1 = New MonthlyCalendarView() Me.Controls.Add(MonthlyCalendarView1) Dim items As New SPCalendarItemCollection() Dim thisWeb As SPWeb = SPControl.GetContextWeb(Context) If CheckBoxList1.Items.Count = 0 Then Dim listItem As SPList For Each listItem In thisWeb.Lists If listItem.BaseTemplate = SPListTemplateType.Events Then CheckBoxList1.Items.Add(New ListItem(listItem.Title)) End If Next listItem End If MonthlyCalendarView1.ItemTemplateName = "CalendarViewMonthItemTemplate" MonthlyCalendarView1.ItemAllDayTemplateName = "CalendarViewMonthItemAllDayTemplate" MonthlyCalendarView1.ItemMultiDayTemplateName = "CalendarViewMonthItemMultiDayTemplate" End Sub
protected void Page_Load(object sender, EventArgs e) { MonthlyCalendarView1 = new MonthlyCalendarView(); this.Controls.Add(MonthlyCalendarView1); SPCalendarItemCollection items = new SPCalendarItemCollection(); SPWeb thisWeb = SPControl.GetContextWeb(Context); if (CheckBoxList1.Items.Count == 0) { foreach (SPList listItem in thisWeb.Lists) { if (listItem.BaseTemplate == SPListTemplateType.Events) { CheckBoxList1.Items.Add(new ListItem(listItem.Title)); } } } MonthlyCalendarView1.ItemTemplateName = "CalendarViewMonthItemTemplate"; MonthlyCalendarView1.ItemAllDayTemplateName = "CalendarViewMonthItemAllDayTemplate"; MonthlyCalendarView1.ItemMultiDayTemplateName = "CalendarViewMonthItemMultiDayTemplate"; }
Zamień Button1_Click metoda VisualWebPart1 klasy następującym kodem.Ten kod dodaje elementy z każdego wybranego kalendarza do widoku wzorca kalendarza.
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click Dim items As New SPCalendarItemCollection() Dim thisWeb As SPWeb = SPControl.GetContextWeb(Context) Dim item As ListItem For Each item In CheckBoxList1.Items If item.Selected = True Then Dim calendarList As SPList = thisWeb.Lists(item.Text) Dim dtStart As DateTime = DateTime.Now.AddDays(-7) Dim dtEnd As DateTime = dtStart.AddMonths(1).AddDays(7) Dim query As New SPQuery() query.Query = [String].Format("<Query>" + "<Where><And>" + _ "<Geq><FieldRef Name=""{0}"" />" + _ "<Value Type=""DateTime"">{1}</Value></Geq>" + _ "<Leq><FieldRef Name=""{0}"" />" + _ "<Value Type=""DateTime"">{2}</Value></Leq>" + _ "</And></Where><OrderBy><FieldRef Name=""{0}"" /></OrderBy>" + _ "</Query>", "Start Time", dtStart.ToShortDateString(), dtEnd.ToShortDateString()) Dim listItem As SPListItem For Each listItem In calendarList.GetItems(query) Dim calItem As New SPCalendarItem() With calItem .ItemID = listItem("ID").ToString() .Title = listItem("Title").ToString() .CalendarType = Convert.ToInt32(SPCalendarType.Gregorian) .StartDate = CType(listItem("Start Time"), DateTime) .ItemID = listItem.ID.ToString() .WorkSpaceLink = [String].Format("/Lists/{0}/DispForm.aspx", calendarList.Title) .DisplayFormUrl = [String].Format("/Lists/{0}/DispForm.aspx", calendarList.Title) .EndDate = CType(listItem("End Time"), DateTime) .Description = listItem("Description").ToString() End With If Not (listItem("Location") Is Nothing) Then calItem.Location = listItem("Location").ToString() End If items.Add(calItem) Next listItem MonthlyCalendarView1.DataSource = items End If Next item End Sub
protected void Button1_Click(object sender, EventArgs e) { SPCalendarItemCollection items = new SPCalendarItemCollection(); SPWeb thisWeb = SPControl.GetContextWeb(Context); foreach (ListItem item in CheckBoxList1.Items) { if (item.Selected == true) { SPList calendarList = thisWeb.Lists[item.Text]; DateTime dtStart = DateTime.Now.AddDays(-7); DateTime dtEnd = dtStart.AddMonths(1).AddDays(7); SPQuery query = new SPQuery(); query.Query = String.Format( "<Query>" + "<Where><And>" + "<Geq><FieldRef Name=\"{0}\" />" + "<Value Type=\"DateTime\">{1}</Value></Geq>" + "<Leq><FieldRef Name=\"{0}\" />" + "<Value Type=\"DateTime\">{2}</Value></Leq>" + "</And></Where><OrderBy><FieldRef Name=\"{0}\" /></OrderBy>" + "</Query>", "Start Time", dtStart.ToShortDateString(), dtEnd.ToShortDateString()); foreach (SPListItem listItem in calendarList.GetItems(query)) { SPCalendarItem calItem = new SPCalendarItem(); calItem.ItemID = listItem["ID"].ToString(); calItem.Title = listItem["Title"].ToString(); calItem.CalendarType = Convert.ToInt32(SPCalendarType.Gregorian); calItem.StartDate = (DateTime)listItem["Start Time"]; calItem.ItemID = listItem.ID.ToString(); calItem.WorkSpaceLink = String.Format( "/Lists/{0}/DispForm.aspx", calendarList.Title); calItem.DisplayFormUrl = String.Format( "/Lists/{0}/DispForm.aspx", calendarList.Title); calItem.EndDate = (DateTime)listItem["End Time"]; calItem.Description = listItem["Description"].ToString(); if (listItem["Location"] != null) { calItem.Location = listItem["Location"].ToString(); } items.Add(calItem); } MonthlyCalendarView1.DataSource = items; } } }
Testowanie składnika Web Part
Po uruchomieniu programu otwiera witrynę programu SharePoint.Składnik Web Part jest automatycznie dodawany do galerii składników Web Part programu SharePoint.Aby przetestować ten projekt, będzie wykonywać następujące zadania:
Zdarzenia należy dodać do każdej z dwóch list osobny kalendarz.
Dodaj składnik Web Part do strony składników Web Part.
Umożliwia określenie listy w widoku Kalendarz miesięczny.
Aby dodać do listy kalendarza w witrynie zdarzenia
W programie Visual Studio wybierz klawisz F5.
Otwiera witrynę programu SharePoint oraz Microsoft SharePoint Foundation 2010 pasek Szybkie uruchamianie jest wyświetlany na stronie.
Na pasku Szybkie uruchamianie pod list, wybierz Kalendarz łącze.
Kalendarz zostanie wyświetlona strona.
Wybierz zdarzenia tab, a następnie wybierz polecenie Nowe zdarzenie na Wstążce.
W Tytuł polu, należy wprowadzić zdarzeń kalendarza domyślnego, a następnie wybierz zapisać przycisku.
Na Akcje witryny menu wybierz Więcej opcji polecenia.
W Tworzenie wybierz Kalendarz typu, nazwę kalendarza, a następnie wybierz Tworzenie przycisku.
Kalendarz niestandardowy zostanie wyświetlona strona.
Dodać wydarzenie do kalendarza niestandardowych, nazwy zdarzenia zdarzenia w kalendarzu niestandardowe, a następnie wybierz zapisać przycisku.
Aby dodać składnik Web Part do strony składników Web Part
Na Akcje witryny menu wybierz Więcej opcji polecenia.
W Tworzenie wybierz Strony składników Web Part typu, a następnie wybierz Tworzenie przycisku.
W Nowej strony składników Web Part strony, nazwę strony SampleWebPartPage.aspx, a następnie wybierz polecenie Tworzenie przycisku.
Zostanie wyświetlona strona składników Web Part.
Wybierz wszystkie strefy na stronie składników Web Part.
U góry strony, wybierz polecenie Wstaw tab, a następnie wybierz Web Part przycisku.
Wybierz Niestandardowy folder, wybierz polecenie VisualWebPart1 składnika Web Part i wybierz polecenie Dodaj przycisku.
Składnik Web Part jest wyświetlany na stronie.W składniku Web Part są wyświetlane następujące formanty:
Widok kalendarza miesięcznego.
Aktualizacja przycisku.
A Kalendarz pole wyboru.
A Kalendarz niestandardowy pole wyboru.
Aby określić list dołączyć widok kalendarza miesięcznego
W składniku Web Part, określ kalendarzy, które chcesz uwzględnić w widoku Kalendarz miesięczny, a następnie wybierz Aktualizacja przycisku.
Zdarzenia ze wszystkich kalendarzy, określone są wyświetlane w widoku Kalendarz miesięczny.
Zobacz też
Zadania
Jak: tworzenie część sieci Web programu SharePoint
Jak: tworzenie część sieci Web programu SharePoint przy użyciu projektanta
Instruktaż: Tworzenie składnika Web Part dla programu SharePoint