Udostępnij za pośrednictwem


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

  1. Uruchom Visual Studio za pomocą Uruchom jako Administrator opcji.

  2. 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.

  3. 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.

  4. 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.

  5. W Co to jest poziom zaufania dla tego rozwiązania programu SharePoint? sekcji, wybierz Wdroż jako roztwór farmy przycisku opcji.

  6. 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

  1. W projektancie Visual Web Developer wybierz Projekt tab, aby przełączyć do widoku projektu.

  2. Na pasku menu wybierz widoku, Przybornik.

  3. 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.

  4. Powtórz poprzedni krok, ale przenieść przycisk do następnego wiersza projektanta.

  5. W projektancie wybierz Button1 przycisku.

  6. Na pasku menu wybierz widoku, Okno właściwości.

    Właściwości okno.

  7. 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

  1. 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.

  2. 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;
    
  3. Dodaj następujący wiersz kodu VisualWebPart1 klasy.Ten kod deklaruje formantu widoku kalendarza miesięcznego.

    Private MonthlyCalendarView1 As MonthlyCalendarView
    
    private MonthlyCalendarView MonthlyCalendarView1;
    
  4. 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";
    }
    
  5. 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

  1. W programie Visual Studio wybierz klawisz F5.

    Otwiera witrynę programu SharePoint oraz Microsoft SharePoint Foundation 2010 pasek Szybkie uruchamianie jest wyświetlany na stronie.

  2. Na pasku Szybkie uruchamianie pod list, wybierz Kalendarz łącze.

    Kalendarz zostanie wyświetlona strona.

  3. Wybierz zdarzenia tab, a następnie wybierz polecenie Nowe zdarzenie na Wstążce.

  4. W Tytuł polu, należy wprowadzić zdarzeń kalendarza domyślnego, a następnie wybierz zapisać przycisku.

  5. Na Akcje witryny menu wybierz Więcej opcji polecenia.

  6. W Tworzenie wybierz Kalendarz typu, nazwę kalendarza, a następnie wybierz Tworzenie przycisku.

    Kalendarz niestandardowy zostanie wyświetlona strona.

  7. 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

  1. Na Akcje witryny menu wybierz Więcej opcji polecenia.

  2. W Tworzenie wybierz Strony składników Web Part typu, a następnie wybierz Tworzenie przycisku.

  3. 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.

  4. Wybierz wszystkie strefy na stronie składników Web Part.

  5. U góry strony, wybierz polecenie Wstaw tab, a następnie wybierz Web Part przycisku.

  6. 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

Inne zasoby

Tworzenie składników Web Part dla programu SharePoint