[SharePoint 2010] Visual Studio 2010內撰寫視覺化WebPart超簡單
新一代的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超簡單的更多相关文章
- MOSS 2010:Visual Studio 2010开发体验(14)——列表开发之事件接收器
转:http://boke.25k5.com/kan141919.html 通过前面几篇,我们已经完成了内容类型,列表定义,列表实例g 8h"@的开发.本篇继续讲解列表中的一个重要环节- ...
- 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 ...
- 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 ...
- SharePoint 2010中使用Visual Studio 2010进行方便快速的Web Part开发
转:http://www.cnblogs.com/fatwhale/archive/2010/02/24/1672633.html 在Visual Studio 2010中, 已经集成了用于Shar ...
- 在 Visual Studio 2010 中创建 SharePoint 2010 事件接收器
Microsoft Visual Studio 2010 提供了一个可用于生成事件接收器的项目类型,事件接收器会在 Microsoft SharePoint 2010 网站上选择事件之前或之后执行操作 ...
- 用C#语言在Visual Studio 2010里开发一个自定义的PowerShell Cmdlet
1. 打开Visual Studio 2010 2. 新建一个基于Class Library的项目 3. 给项目起个名字然后OK 4. 为项目添加下列Reference System.Manageme ...
- 《转》Visual Studio 2010 终极定制安装精简方法
打开VS2010安装目录下的 Setup 文件夹,找到 baseline.dat 文件和 vs_setup.pdi 文件还有一个 locdata.ini 文件,是对应的. 这些都是文本文件,用记事本就 ...
- 使用Visual Studio 2010 创建简单的Silverlight应用程序
使用Visual Studio 2010 创建简单的Silverlight应用程序 Silverlight是创建动态的引人的RIAs(Rich Internet Application)的新方法.这里 ...
- 【转】让开发变得简单一点- Visual Studio 2010几个让人印象深刻的新功能
原文网址:http://xhinker.blog.51cto.com/640011/313055/ 引言 "我们的目标,不仅仅是做出几个新功能,而是要回答一个问题:'如何让现在的开发人员生活 ...
随机推荐
- EF Code First 注意事项
1.异常“实体类型不存在于上下文中” Context类中不包含该实体类型的DbSet,有可能关联关系没有正确设置
- dbcp2连接池获取数据库连接Connection
一.先来看看手工创建的方式 public static Connection getConnection() { Connection conn = null; try { Class.forName ...
- unity3D中使用Socket进行数据通信(二)
上一篇博客主要介绍了使用socket搭建服务端和client程序,这一篇来说说socket的数据传输,我们使用socket的目的是解决点对点之间的数据传输,之前提到了socket中一个重要的概念:po ...
- Lintcode---翻转二叉树
翻转一棵二叉树 您在真实的面试中是否遇到过这个题? Yes 样例 1 1 / \ / \ 2 3 => 3 2 / \ 4 4 思路:依旧采用递归的思路,判断特殊条件后,先交换根节点的左右孩子, ...
- RVM(ruby version manage)安装指南
一.安装需要3步gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \c ...
- 高性能网络 | 你所不知道的TIME_WAIT和CLOSE_WAIT
你遇到过TIME_WAIT的问题吗? 我相信很多都遇到过这个问题.一旦有用户在喊:网络变慢了.第一件事情就是,netstat -a | grep TIME_WAIT | wc -l 一下.哎呀妈呀 ...
- C++重载IO操作符
操作符的重载有一定的规则,而IO操作符必须重载为普通函数,且应该声明为类的友元函数.我试了,非友元也可以,但是必须提供访问成员变量的函数,所以,出于效率的考虑还是应该定义为友元. 规则如下: 1. ...
- c#用picturebox显示多页TIF
//引用 using System.Drawing; using System.Drawing.Imaging; //以下是方法 private Bitmap myImage = null; priv ...
- 理解vertical-align或“如何竖向居中”<转>
在各种技术论坛里经常会有这样的问题提出,“我如何能将这个东西竖向居中?”这个问题通常会跟随着这样一句话,“我使用了 vertical-align:middle,但是不管用! ” 这个问题其实有三个层面 ...
- java定时调度器解决方案分类及特性介绍
什么是定时调度器? 我们知道程序的运行要么是由事件触发的,而这种事件的触发源头往往是用户通过ui交互操作层层传递过来的:但是我们知道还有另外一种由机器系统时间触发的程序运行场景.大家想想是否遇到或者听 ...