Aracılığıyla paylaş


İzlenecek yol:, bir tasarımcı kullanarak SharePoint Web Bölümü oluşturma

Web bölümleri, kullanıcıların içeriği, görünümünü ve davranışını SharePoint sitesindeki sayfaları bir tarayıcı kullanarak doğrudan değiştirmek olanak sağlar.Bu izlenecek yolda, bir Web Bölümü görsel olarak SharePoint kullanarak nasýl yaratýlacaðýný gösterir Visual Web Bölümü proje şablonu Visual Studio.

Web Bölümü, site üzerinde aylık takvim görünümü ve her takvim listesi için bir onay kutusu görüntüler.Kullanıcıların hangi takvimin onay kutularını seçerek aylık Takvim görünümünde içerecek şekilde listeler seçebilirsiniz.

Bu örneklerde aşağıdaki görevler gösterilir:

  • Bir Web bölümünü kullanarak oluşturma Visual Web Bölümü proje şablonu.

  • Visual Studio'da Visual Web Developer designer'ı kullanarak Web Bölümü tasarlama.

  • Denetimleri Web Bölümü'ndeki olayları işlemek için kod ekleme.

  • SharePoint Web Bölümü test.

    [!NOT]

    Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arayüzü öğelerinden bazıları için farklı adlar veya konumlar gösterebilir.Bu öğeleri bilgisayarınızdaki Visual Studio sürümü ve kullandığınız ayarlar belirler.Daha fazla bilgi için bkz. Visual Studio ayarları.

Önkoşullar

Bu örneği tamamlamak için aşağıdaki bileşenler gerekmektedir:

Bir Web Bölümü proje oluşturma

İlk olarak, Web Bölümü proje oluşturmak Visual Web Bölümü proje şablonu.

Visual Web Bölümü proje oluşturmak için

  1. Başlat Visual Studio kullanarak yönetici olarak çalıştır seçeneği.

  2. Menü çubuğunda Seç dosyasını, Yeni, Proje.IDE'yi menü çubuğunda Visual Basic geliştirme ayarları kullanacak şekilde ayarlanmışsa, seçim dosyasını, Yeni bir proje.

    Yeni Proje iletişim kutusu görüntülenir.

  3. İçinde Yeni bir proje iletişim kutusunda ya da altında Visual C# veya Visual Basic, genişletin SharePoint düğüm ve sonra seçin 2010 düğüm.

  4. İçinde Visual Studio şablonları yüklü bölmesinde seçin SharePoint 2010 Visual Web Bölümü şablon ve sonra seçin Tamam düğme.

    SharePoint Özelleştirme Sihirbazı'nı görünür.Bu sihirbazı kullanarak, proje ve çözüm güven düzeyini hata ayıklamak için kullanacağınız site belirtebilirsiniz.

  5. De Bu SharePoint çözümü için güven düzeyi nedir? bölümünde, seçim dağıtma grubu çözümü olarak seçenek düğmesi.

  6. Seçim Son varsayılan yerel SharePoint sitesi kabul etmek için düğme.

Web Bölümü tasarlama

Denetimleri ekleyerek Web Bölümü tasarım araç kullanıcı denetiminin yüzeye.

Web bölümünün düzeni tasarlamak için

  1. Visual Web Developer Tasarımcısı üzerinde seçim Tasarım Tasarım görünümüne geçmek için sekme.

  2. Menü çubuğunda Seç View, araç.

  3. İçinde Standart düğümü araç, seçim CheckBoxLIst denetlemek ve aşağıdaki adımlardan birini gerçekleştirin:

    • Kısayol menüsünü açma CheckBoxList seçin ve denetleme kopyaTasarımcısı'nda ilk satırı seçin, satır için kısayol menüsünü açın ve sonra seçin Yapıştır.

    • Sürükle CheckBoxList karşı kontrol araç ve tasarımcı ilk satırda bağlanın.

  4. Önceki adımı yineleyin, ancak bir düğme Tasarımcı bir sonraki satıra geçin.

  5. Tasarımcısı'nda seçim Button1 düğme.

  6. Menü çubuğunda Seç View, Properties penceresinde.

    Özellikler penceresi açılır.

  7. İçinde metin düğmenin özelliğini güncelleştirme girin.

Web Bölümü'ndeki denetim olaylarını işlemek

Takvimler Ana Takvim görünümüne eklemek kullanıcı sağlar kodu ekleyin.

Denetimleri Web Bölümü'ndeki olayları işlemek için

  1. Aşağıdaki adım kümelerinden birini uygulayın:

    • Tasarımcısı'nda çift güncelleştirme düğme.

    • İçinde özelliklerini için Pencere güncelleştirme düğme, seçme olaylar düğme.İçinde 'I özelliği, girin Button1_Clickve Enter tuşu seçeneğini belirleyin.

    Kod Düzenleyicisi'nde kullanıcı denetimi kodu dosyayı açar ve Button1_Click olay işleyicisini görünür.Daha sonra bu olay işleyicisine kod ekleyeceksiniz.

  2. Kullanıcı denetim kodu dosyanın en üstüne için aşağıdaki ifadeleri ekleyin.

    Imports Microsoft.SharePoint
    Imports Microsoft.SharePoint.WebControls
    
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.WebControls;
    
  3. Kod aşağıdaki satırı ekleyin VisualWebPart1 sınıfı.Bu kod, bir aylık takvim görünümü denetimi bildirir.

    Private MonthlyCalendarView1 As MonthlyCalendarView
    
    private MonthlyCalendarView MonthlyCalendarView1;
    
  4. Yerine Page_Load yöntemi, VisualWebPart1 yerine aşağıdaki kodu sınıfı.Bu kod aşağıdaki görevleri gerçekleştirir:

    • Aylık takvim görünümü, kullanıcı denetimi ekler.

    • Sitede her takvim listesi için bir onay kutusu ekler.

    • Takvim görünümünde her görüntülenen öğe türü için bir şablonu belirtir.

    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. Yerine Button1_Click yöntemi, VisualWebPart1 yerine aşağıdaki kodu sınıfı.Bu kod, Ana Takvim görünümüne her Seçili takvimdeki öğeleri ekler.

    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;
            }
    
        }
    
    }
    

Web Bölümü test etme

Proje çalıştırdığınızda, SharePoint sitesini açar.Web Bölümü, SharePoint Web Bölümü Galerisi'nde otomatik olarak eklenir.Bu projeyi test etmek için aşağıdaki görevleri yerine:

  • Bir olayın her iki ayrı takvim listesi ekleyin.

  • Web Bölümünü bir Web Bölümü sayfasına ekleyin.

  • Aylık takvim görünümü içeren listeleri belirtin.

Sitedeki listeleri Takvim olayları eklemek için

  1. F5 tuşuna basarak Visual Studio'da seçin.

    SharePoint sitesini açar ve Microsoft SharePoint Foundation 2010 Hızlı Başlat çubuğu sayfada görünür.

  2. Hızlı Başlat çubuğunda altında listeler, seçim Takvim bağlantı.

    Takvim sayfası görüntülenir.

  3. Seçim olaylar sekmesini tıklatın ve sonra seçim Yeni olay şeridinde.

  4. İçinde başlık kutusuna, varsayılan Takvim olayı girin ve sonra seçin kaydetmek düğme.

  5. Üzerinde Site eylemleri menüsünden seçin Daha fazla seçenek komut.

  6. İçinde Oluştur sayfasında, seçim Takvim yazın, Takvim adını ve ardından seçin Create düğme.

    Özel takvim sayfası görüntülenir.

  7. Bir olay eklemek için özel Takvim, özel Takvim içinde olay olay adlandırın ve sonra seçin kaydetmek düğme.

Bir Web Bölümü sayfasına Web Bölümü eklemek için

  1. Üzerinde Site eylemleri menüsünden seçin Daha fazla seçenek komut.

  2. İçinde Create sayfasında, seçim Web Bölümü sayfası yazın ve sonra seçin Create düğmesini.

  3. İçinde Yeni Web Bölümü sayfası sayfasında, sayfa adı SampleWebPartPage.aspxve sonra seçin Create düğme.

    Web Bölümü sayfası görüntülenir.

  4. Web Bölümü sayfasındaki herhangi bir bölge seçin.

  5. Sayfanın en üstünde, seçim Ekle sekmesini tıklatın ve sonra seçin Web Bölümü düğme.

  6. Seçin özel klasörü seçin VisualWebPart1 Web Bölümü ve seçin Ekle düğme.

    Web Bölümü sayfasında görüntülenir.Aşağıdaki denetimler Web bölümünde görüntülenir:

    • Aylık takvim görünümü.

    • Bir güncelleştirme düğme.

    • A Takvim onay kutusu.

    • A Özel takvim onay kutusu.

Aylık takvim görünümü içerecek şekilde belirtmek için listeler

  • Aylık Takvim görünümünde ekleyin ve sonra istediğiniz takvim Web bölümünde belirtmeniz güncelleştirme düğme.

    Belirttiğiniz tüm takvimlerdeki olayları aylık Takvim görünümünde görünür.

Ayrıca bkz.

Görevler

Nasıl yapılır: SharePoint Web Bölümü oluşturma

Nasıl yapılır: bir Designer'ı kullanarak bir SharePoint Web Bölümü oluşturma

İzlenecek yol: SharePoint Web Bölümü oluşturma

Diğer Kaynaklar

SharePoint Web bölümleri oluşturma