新一代的Visual Studio 2010對於SharePoint 2010的專案撰寫,有非常另人讚賞的改進. 以往寫一個WebPart要搞好多雜七雜八的步驟,也要硬寫HTML輸出,當然有人說可以寫UserControl後再掛在其它的WebPart容器內, 但是也是須要不少工夫去處理它. 現在,這些問題都沒了,簡單的幾個步驟,就可以做出功能強大的WebPart,而且偵錯方法也非常簡單.

新一代的Visual Studio 2010對於SharePoint 2010的專案撰寫,有非常另人讚賞的改進. 以往寫一個WebPart要搞好多雜七雜八的步驟,也要硬寫HTML輸出,當然有人說可以寫UserControl後再掛在其它的WebPart容器內,但是也是須要不少工夫去處理它. 現在,這些問題都沒了,簡單的幾個步驟,就可以做出功能強大的WebPart,而且偵錯方法也非常簡單.

首先,在Visual Studio內,選擇新增一個SharePoint 2010的視覺化WebPart專案,

接下來選擇一個要做測試用的SharePoint 2010網站位址,在這裡可以選本機上的SharePoint 2010以方便偵錯. 或許你會問,那不就需要把Visual Studio 2010裝在Windows Server上了,其實新版的SharePoint 2010是可以裝在Windows 7上面的,對開發者來說相當的方便.

進入編輯畫面後,選到ASCX檔並切換到設計檢視畫面,我們可以把工具箱內的控制像拖放到畫面區上,在這裡我們放入一個按鈕與一個GridView控制項,我把按鈕取名為btnDateTime,GridView取名為gvResult,我想要做的Demo是按下按鈕後,GridView內就新增一筆按下的時間資料顯示在最上面. 所以接下來在按鈕上按兩下我們即可撰寫Code Behind的事件處理函式了. 當然我們要有一個List去存放時間資料,並且把它放在ViewState內.所以在Page_Load事件中撰寫了一個IsPostBack的判斷式,不是IsPostBack時就把ViewState["Data"]給建立起來,型別是 List<DateTime>. 然後在btnDateTime_Click事件中,把DateTime.Now的值加入到ViewState["Data"]內,之後用Linq把資料排序一下,新的資料放最上面,當做gvResult的DataSource,做DataBind()處理.

程式碼撰寫完後,直接按下功能表上的執行按鈕去執行,我們也可以設定斷點,讓WebPart執行時,可以停下來偵錯.第一次的執行Vistual Studio 2010跟以前一樣會問你是否要將Web.Config的偵錯選項開啟,在這裡我們選擇開啟,然後你就會看到測試的SharePoint 2010網站也被開起來了.

網站開起來後,我們需要進入頁面編輯模式,然後加入剛才做的WebPart.新的WebPart會暫時被放在Custom類別內.

加入新的WebPart後,我們可以按下剛才製做的按鈕,這時程式會在Visual Studio 2010內設定的斷點停下來讓我們進行偵錯.偵錯無誤的話,我們可以取消斷點,反覆的按下按鈕,這時我們就會看到時間的資料一筆筆被加入.

是不是很簡單,就完成一個WebPart了. 當然這只是在開發環境的上的測試,後續的包裝與部署到正式環境,還有一些細節要注意,部過Visual Studio的專案都幫我們準備好了,我們可以將Feature節點下的資料夾改名字,成為我們要顯示的Feature名稱,然後進入去修改 Feature所要包含與啟動的項目,在這裡我們只會有一個WebPart,相關描述WebPart安裝啟動的資料 Element.xml, .WebPart檔與ASCX檔案也都會準備好,接下來選好Feature的範圍到Site,然後調整好Package內相關的WSP檔案設定,就可以編譯包裝好 WSP檔,拿到正式環境去啟動的.可以說比起SharePoint 2007是相當的容易. 也相信對ASP.NET開發者投入SharePoint 2010開發會變得更輕鬆愉快了.

[SharePoint 2010] Visual Studio 2010內撰寫視覺化WebPart超簡單的更多相关文章

  1. MOSS 2010:Visual Studio 2010开发体验(14)——列表开发之事件接收器

    转:http://boke.25k5.com/kan141919.html 通过前面几篇,我们已经完成了内容类型,列表定义,列表实例g 8h"@的开发.本篇继续讲解列表中的一个重要环节- ...

  2. Creating a SharePoint BCS .NET Connectivity Assembly to Crawl RSS Data in Visual Studio 2010

    from:http://blog.tallan.com/2012/07/18/creating-a-sharepoint-bcs-net-assembly-connector-to-crawl-rss ...

  3. Creating SharePoint 2010 Event Receivers in Visual Studio 2010

    转:http://msdn.microsoft.com/en-us/library/gg252010(v=office.14).aspx Summary:  Learn how to create a ...

  4. SharePoint 2010中使用Visual Studio 2010进行方便快速的Web Part开发

    转:http://www.cnblogs.com/fatwhale/archive/2010/02/24/1672633.html 在Visual Studio 2010中,  已经集成了用于Shar ...

  5. 在 Visual Studio 2010 中创建 SharePoint 2010 事件接收器

    Microsoft Visual Studio 2010 提供了一个可用于生成事件接收器的项目类型,事件接收器会在 Microsoft SharePoint 2010 网站上选择事件之前或之后执行操作 ...

  6. 用C#语言在Visual Studio 2010里开发一个自定义的PowerShell Cmdlet

    1. 打开Visual Studio 2010 2. 新建一个基于Class Library的项目 3. 给项目起个名字然后OK 4. 为项目添加下列Reference System.Manageme ...

  7. 《转》Visual Studio 2010 终极定制安装精简方法

    打开VS2010安装目录下的 Setup 文件夹,找到 baseline.dat 文件和 vs_setup.pdi 文件还有一个 locdata.ini 文件,是对应的. 这些都是文本文件,用记事本就 ...

  8. 使用Visual Studio 2010 创建简单的Silverlight应用程序

    使用Visual Studio 2010 创建简单的Silverlight应用程序 Silverlight是创建动态的引人的RIAs(Rich Internet Application)的新方法.这里 ...

  9. 【转】让开发变得简单一点- Visual Studio 2010几个让人印象深刻的新功能

    原文网址:http://xhinker.blog.51cto.com/640011/313055/ 引言 "我们的目标,不仅仅是做出几个新功能,而是要回答一个问题:'如何让现在的开发人员生活 ...

随机推荐

  1. oracle和其他数据库对表名、列名的长度限制

    ============== 数据库 表名列名长度限制问题 今天修改数据库表名,感觉现有的定义列名都无含义...修改后被同事告知,列名有点长,怕有的数据库不支持.. 我头一次听说数据库表名和列名长度限 ...

  2. ACdream 1084 寒假安排(阶乘素因子分解)

    题目链接:传送门   分析: 求A(n,m)转化成k进制以后末尾0的个数.对k素因子分解,第i个因子为fac[i], 第i个因子的指数为num[i],然后再对n的对A(n,m)进行素因子分解,设cou ...

  3. 飘逸的python - ord和chr以及unichr

    ord是unicode ordinal的缩写,即编号 chr是character的缩写,即字符 ord和chr是互相相应转换的. 可是因为chr局限于ascii,长度仅仅有256. 于是又多了个uni ...

  4. mysql多实例安装详解

    首先说明一个场景:我的电脑是ubuntu系统,之前apt-get自动安装过mysql.这也是出现错误最多的原因之一. 安装过程,其中充斥着各种错误: 6.mkdir mysql 7.groupadd  ...

  5. 【C语言】22-枚举

    上一讲介绍了结构体类型,这讲就介绍C语言中的另一种数据类型---枚举类型.枚举类型在iOS中也是很常用的,用法跟Java中的枚举类似. 一.枚举的概念 枚举是C语言中的一种基本数据类型,并不是构造类型 ...

  6. c函数声明前加typedef是什么情况

    刚才看到APUE(高级UNIX环境编程)里面的apue.h中有一行 typedef void Sigfunc(int); 没搞懂什么意思 其实就是定义一个函数指针类型,等价于 typedef void ...

  7. 解决将Ubuntu下导出的requirements.txt到Centos服务器上面出现pkg-resource的版本为0.0.0

    最直接有效的方法: 原因:

  8. Js 省市联动

    function cn(){ this.Items = {}; } cn.prototype.add = function(id,iArray){ this.Items[id] = iArray; } ...

  9. CEF Xilium.CefGlue 在当前窗体中打开全部链接(防止弹窗)

    我们在使用Xilium.CefGlue编写浏览器应用程序时.对于嵌入的网页假设有链接会在新窗体打开.这种用户体验会非常差.因此我们须要改动程序,使全部链接都在当前窗体中打开. 首先引用Xilium.C ...

  10. Unix系统编程()执行非局部跳转:setjmp和longjmp

    使用库函数setjmp和longjmp可执行非局部跳转(local goto). 术语"非局部(nonlocal)"是指跳转目标为当前执行函数之外的某个位置. C语言里面有个&qu ...