SharePoint 中用戶控件的開發及應用


  1、新建解決方案以及SharePoint項目,步驟比較簡單略過,然后映射CONTROLTEMPLATES文件夾,在里面添加用戶控件(僅場解決方案),如下圖:

clip_image001

  2、解決方案結構,如下圖:

  簡單介紹一下,部署以后dll會到GAC,ascx控件會部署到CONTROLTEMPLATES文件夾下面,不要問我這個文件夾物理路徑在哪哦~~

clip_image002

  3、在前台的ascx文件里添加控件,如下圖:

  這樣的開發場景,和asp.net是不是很像?沒錯,前台可以設計好布局,然后在后台添加相應代碼就可以了,這里只是一個簡單demo(讀取頁面庫內容);

clip_image003

  4、在后台cs文件中添加代碼,btn的click事件里添加我們需要的代碼:

clip_image004

  5、添加代碼附,如下:

protected void btn_GetListItem_Click(object sender, EventArgs e)
{
    StringBuilder Items = new StringBuilder();
    using (SPSite site = new SPSite(SPContext.Current.Site.ID))
    {
        using (SPWeb web = site.OpenWeb())
        {
            SPList list = web.Lists["頁面"];
            int i = 1;
            foreach (SPListItem item in list.Items)
            {
                Items.Append("條目 -- " + i.ToString());
                Items.Append("標題:" + item["Title"].ToString());
                Items.Append("</br>");
                Items.Append("地址:" + item.File.Url);
                Items.Append("</br></br>");
            }
        }
    }
    lb_ListItem.Text = Items.ToString();
}

  6、添加代碼以后,部署解決方案,ascx文件部署后如下圖位置:

clip_image005

  7、dll文件部署的位置,如下圖:

clip_image006

  8、簡單介紹下部署的位置

  Dll的位置,特別要說的是,SharePoint 2013的Dll由於FrameWork版本的問題,部署在如下位置了:

C:\Windows\Microsoft.NET\assembly\GAC_MSIL\SP2013CustomUserControl\v4.0_1.0.0.0__254789ed6746c3c6

  Ascx位置: 

C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\CONTROLTEMPLATES

  9、在頁面的頭部注冊

clip_image007

  10、在PlaceHolderMain里添加我們的部件

clip_image008

  11、查看頁面中的效果,如下圖:

clip_image009

  12、點擊GetListItem以后效果,如下圖:

  由於只是一個demo作為演示,只是簡單讀取了頁面庫中的頁面信息,包括標題和頁面的Url地址,效果如下:

clip_image010

  以上就是SharePoint中用戶控件使用的簡單介紹,或許有人會說,這個和WebPart不是一樣么?其實,用戶控件和WebPart本身就很類似,但是使用不僅僅這一種場景,我們可以把用戶控件添加到頁面中,添加到母版頁中,甚至於添加到SharePoint Layouts目錄下發布的應用程序頁面中,都是可以的。

  用戶控件和WebPart很類似,但是應用場景還是有所區別的,至少我感覺用戶控件偏向開發人員使用,用於不常修改的功能;WebPart偏實施人員使用,更多的帶有配置信息,更加靈活多變。

  好了,用戶控件的介紹就到這里了,希望能夠帶給需要的人以幫助,謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM