簡體   English   中英

Sharepoint 2010中的自定義AnnouncementListItem可視Web部件

[英]Custom AnnouncementListItem Visual Web Part in Sharepoint 2010

我正在嘗試創建一個可視化Web部件以顯示最新的5條公告列表項。

我需要將公告列表項目標題顯示為鏈接,並將所有附件(僅圖片)顯示在其上方。 我計划每15-20分鍾刷新一次Web部件,以顯示最新公告。

我不知道如何以及什么是最好的ASP控件和頁面設計來顯示這些項目。

這是CAML查詢以及其余的代碼:

 using (SPSite oSPsite = new SPSite("http://mySharePointWebApp:Port#/"))
         {

            using (SPWeb oSPWeb = oSPsite.OpenWeb())
             {
                 oSPWeb.AllowUnsafeUpdates = true;

                // Fetch the List
                 SPList list = oSPWeb.Lists["Announcements"];

                SPQuery spQuery = new SPQuery();
                 //spQuery.Query = "<Where> <Eq> <FieldRef Name='Title' /> <Value           Type='Text'></Value> </Eq> </Where>";
                 spQuery.Query = "";
                 spQuery.RowLimit = 5;

                // Show item in text box
                 SPListItemCollection oListCollection = list.GetItems(spQuery);
                 foreach (ListItem oListItem in oListCollection)
                 {
                     // **What should I go with here?**
                 }

            }
         }

您可以使用列表框等中繼器控件,並使用項目模板對其進行自定義。

<asp:ListBox>
    <item template>
       <div>
         <image control/>
         <text control/>
       </div>
    </item template>
</asp:ListBox>

要獲取最新的5條公告,請編寫CAML SPQuery以按ID降序獲取前5條。 檢查公告是否存在附件。 如果確實存在,則獲取附件URL,並通過查看擴展名檢查它是否為圖像類型。

如果存在圖像,則將附件相對URL分配給項目模板中的圖像控件。 對於沒有圖像的公告,您可以選擇隱藏圖像控件或將URL分配給某些公共圖像。

您還可以使用Linq to SharePoint獲得最新的5條公告。 代碼應如下所示

var top5Announcements = (From a in siteDataContext.Announcements OrderBy a.id descending select a).Take(5)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM