设为首页 收藏本站
查看: 1281|回复: 0

[经验分享] SharePoint开发笔记-SharePoint2010的WebPart和Linq

[复制链接]

尚未签到

发表于 2015-9-28 11:11:04 | 显示全部楼层 |阅读模式
  此为微软官方的练习,本人只是做了一些易错地方的说明.
  预计完成此练习所需的时间:10 分钟 在此练习中,您将开发和部署从列表中读取数据并显示在 DataGrid 中的可视化 Web 部件。在此练习中,您将执行以下操作:
1. 创建可视化 Web 部件。
2. 生成 Linq 代理代码。
3. 使用 Linq 提供程序从 SharePoint 列表读取数据。
4. 使用 SPDataGrid Web 控件呈现数据。
  任务 1 ― 创建新 SharePoint 项目
在此任务中,将创建一个解决方案和项目。它将包含此实验的练习 1 中的剩余开发工作。
1. 转到“开始”菜单 |“所有程序”|“Microsoft Visual Studio 2010”| “Microsoft Visual Studio 2010”,以打开 Visual Studio 2010。
2. 从菜单中,选择“文件”|“新建”|“项目”。
3. 在“新建项目”对话窗口中,从“已安装的模板”中选择“Visual C#”| “SharePoint”|“2010”。
4. 从“项目项”中选择“可视 Web 部件”。
DSC0000.png
  图 1 - SharePoint 2010 可视化 Web 部件项目
SharePoint 2010 开发人员演练
5. 在“名称”文本框中输入 SPCHOL200-Ex1
6. 在“位置”文本框中输入 C:\SPHOLS\SPCHOL200\CS\Ex1。
7. 取消选中“创建解决方案的目录”。
8. 单击“确定”。
9. 在“SharePoint 自定义向导”中: 输入 http://chenrensong:33333 作为本地网站。 将信任级别设置为“部署为场解决方案”。 单击“完成”按钮。
DSC0001.png
  图 2 - SharePoint 自定义向导
10. Visual Studio 将创建新 SPCHOL200-Ex1 项目并添加所需的文件。
   DSC0002.png
   图 3 - SPCHOL200-Ex1 项目
11. 请注意,Visual Studio 还创建名为 VisualWebPart1 的可视化 Web 部件。在解决方案资源管理器中,展开“VisualWebPart1”并打开“VisualWebPart1.webpart”。
DSC0003.png
  图 4 - 可视化 Web 部件
  12. 将 name 属性值为 Title 的 property 元素的值更改为 SPLinqDemoTitle,将 name 属性值为 Description 的 property 元素的值更改为 SPLinqDemoPart Description。这将在部署可视化 Web 部件后更改其 Title 和 Description 属性。保存该文件。


DSC0004.gif DSC0005.gif View Code



1<properties> <property name="Title" type="string">SPLinqDemoTitle</property> <property name="Description" type="string">SPLinqDemoPart Description</property> </properties>
  任务 2 ― 生成 LINQ-to-SharePoint 代理类以访问列表数据
在此任务中,您将使用新的 spmetal.exe 代码生成实用程序并生成 Linq-to-SharePoint 代理代码。
1. 在解决方案资源管理器中,右键单击“SPCHOL200-Ex1”,然后选择“在 Windows 资源管理器中打开文件夹”。
2. 按住 Shift 键并在资源管理器窗口中的任意位置右键单击,然后选择“在此处打开命令窗口”以在当前项目目录中打开命令提示符窗口:
DSC0006.png
  图 5 - 在此处打开命令窗口
3. 在命令提示符下键入以下命令并按 Enter,以设置 SharePoint 2010 文件夹的路径:
set path=%path%;c:\program files\common files\microsoft shared\web server extensions\14\bin
4. 在命令提示符下键入以下命令并按 Enter,以生成 Linq-to-SharePoint 代理代码。
  (注意这里的c:\program files\common files\microsoft shared\web server extensions\14\bin是sharepoint的安装路径)


View Code



1spmetal.exe /web:http://intranet.contoso.com /namespace:SPCHOL200_Ex1.VisualWebPart1 /code:SPLinq.cs
  

  注意 – 您可能收到有关“表单模板”列表的内容类型的警告。您可以放心地忽略此警告并继续
5. 关闭命令窗口并切换回 Visual Studio。
  6. 在 Visual Studio 中,右键单击“SPCHOL200-Ex1”项目,然后选择“添加”|“现有项”。
   DSC0007.png
  图 6 - 添加现有项
7. 从“添加现有项”对话窗口中选择“SPLinq.cs”,然后单击“添加”:
图 7
   DSC0008.png
  图 7 - 添加 SPLinq.cs 文件
8. 在解决方案资源管理器中,右键单击“引用”并选择“添加引用”。
9. 切换到“浏览”选项卡,然后在“文件名”文本框中输入 C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI。按 Enter 以更改目录。 您的“添加引用”窗口现在应该如图 8 所示。
  10. 选择“Microsoft.SharePoint.Linq.dll”。
   DSC0009.png
  图 8 - 添加引用
11. 单击“确定”向项目添加引用。
任务 3 ― 在可视化 Web 部件中访问 SharePoint 列表数据
在此任务中,您将向解决方案添加允许可视化 Web 部件检索 SharePoint 列表数据的代码。
1. 在解决方案资源管理器中,展开“VisualWebPart1”并双击“VisualWebPart1UserControl.ascx”。
2. Visual Studio 将打开可视化 Web 部件用户控件。
3. 向用户控件添加以下代码以构造网格视图。


View Code



1 <%@ Import Namespace="Microsoft.SharePoint.WebControls" %> <SharePoint:SPGridView id="spGridView" runat="server" AutoGenerateColumns="false"> <HeaderStyle HorizontalAlign="Left" ForeColor="Navy" Font-Bold="true" /> <Columns> <SharePoint:SPBoundField DataField="Title" HeaderText="Title"></SharePoint:SPBoundField> <SharePoint:SPBoundField DataField="JobTitle" HeaderText="JobTitle"></SharePoint:SPBoundField> <SharePoint:SPBoundField DataField="ProjectTitle" HeaderText="ProjectTitle"></SharePoint:SPBoundField> <SharePoint:SPBoundField DataField="DueDate" HeaderText="DueDate"></SharePoint:SPBoundField> </Columns> </SharePoint:SPGridView>
  代码段:ASP.NET | spchol200_ex1_spgridview
4. 在添加上面的代码后,可视化 Web 部件用户控件应该如下所示:
DSC00010.png
    
    图 9 - 可视化 Web 部件用户控件
5. 在解决方案资源管理器中,右键单击“VisualWebPart1UserControl.ascx”并选择“查看代码”。
6. 向代码隐藏添加以下 using 语句:


View Code



1 using Microsoft.SharePoint.Linq;
2 using Microsoft.SharePoint;
3 using System.Linq;
  代码段:My Code Snippets | spchol200_ex1_namespaces
  7. 在 Page_Load 方法中插入以下代码:
  


View Code



1 var dc = new SPLinqDataContext(SPContext.Current.Web.Url); var Employees = dc.GetList<EmployeesItem>("Employees"); var empQuery = from emp in Employees where emp.Project.DueDate < DateTime.Now.AddMonths(6) select new { emp.Title, emp.JobTitle, ProjectTitle = emp.Project.Title, DueDate = emp.Project.DueDate.Value.ToShortDateString() }; spGridView.DataSource = empQuery; spGridView.DataBind();
  代码段:My Code Snippets | spchol200_ex1_pageload
任务 4 ― 生成并部署可视化 Web 部件
1. 在解决方案资源管理器中,右键单击“SPCHOL200-Ex1”并选择“部署”。这将生成可视化 Web 部件并将其部署到本地 SharePoint 网站:http://chenrensong:33333
   DSC00011.png
  ---------------------------------------------------------------------
  部署成功后打开网站后,在页面上添加自定义web部件后你就会看到下面的效果
   DSC00012.png
  
  -----------------------------------------------------------------------------------


  总结:这个练习大家做的时候可能会出现错误,是因为你的sharepoint网站上面没有Employees这个列表,不过没关系大家修改成自己网站拥有的就行了.
  我修改后的代码如下图所示.
  
DSC00013.png
  code sample:SPCHOL200-Ex1.zip
  好了就说到这里!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-119916-1-1.html 上篇帖子: SharePoint 2010中的客户端AJAX应用——保存数据至SharePoint 下篇帖子: [SharePoint 2010]开发与SharePoint2010 数据同步的Outlook2007 add-in
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表