Reader Level:
Articles

Select List Data With WCF Service in SharePoint 2010 Programmatically Using VS 2012

By Vijay Prativadi on September 14, 2012
Today, in this article let’s play around with one of the interesting and most useful concepts in SharePoint 2010.
  • 0
  • 0
  • 4453

Introduction

Today, in this article let's play around with one of the interesting and most useful concepts in SharePoint 2010.

Question: What is select list data with wcf service?
 

In simple terms "It enables to select data from SharePoint custom list using a client side environment via WCF service".

Step 1: Open SharePoint 2010 Central Administration and navigate to a specific site.

Step 2: Open up Visual Studio 2012 and create an "ASP.NET Web Forms Application", as in:


asp.net-web-form-application.jpg

 

Step 3: Remove the following reference for the project:

 

System.Data.Services.Client

 

Step 4: Replace with a new reference for the project. (For this you need to install ADO.NET Data Services.exe file from here.)

 

After installation, browse to the specific location at:

 

C:\Program Files (x86)\ADO.NET Data Services V1.5 CTP2\bin

 

Add this reference to the project: Microsoft.Data.Services.Client.dll

 

Step 5: Add the service reference to the project. This should come up from the following link. (So here the site URL is http://win-5c3g1lanj3k:29782/ . This might be differerent based on your custom site URL. Another part is _vti_bin/ListData.svc that should be common to access the service reference for any site.)

 

http://win-5c3g1lanj3k:29782/_vti_bin/ListData.svc

 

Step 6: The complete code of WebForm1.aspx looks like this:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="SelectListDataWCFDataServiceApp._Default" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

    <center>

        <div>

            <table>

                <tr>

                    <td colspan="2">

                        <asp:Label ID="Label1" runat="server" Text="Select List Data - WCF Data  in SharePoint 2010 using VS 2012 "

                            Font-Bold="true" Font-Size="Large" Font-Names="Verdana" ForeColor="Maroon"></asp:Label>

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Button ID="Button2" runat="server" Text="Select List Data" Font-Names="Verdana"

                            Width="166px" BackColor="Orange" Font-Bold="True" OnClick="Button2_Click" /><br />

                        <br />

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:GridView ID="GridView1" runat="server" BackColor="LightGoldenrodYellow" BorderColor="Tan"

                            BorderWidth="1px" CellPadding="2" EnableModelValidation="True" ForeColor="Black"

                            GridLines="None" AutoGenerateColumns="False">

                            <AlternatingRowStyle BackColor="PaleGoldenrod"></AlternatingRowStyle>

                            <FooterStyle BackColor="Tan"></FooterStyle>

                            <HeaderStyle BackColor="Tan" Font-Bold="True"></HeaderStyle>

                            <PagerStyle HorizontalAlign="Center" BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue">

                            </PagerStyle>

                            <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite"></SelectedRowStyle>

                            <Columns>

                                <asp:BoundField DataField="ID" HeaderText="Student Id" ReadOnly="true" SortExpression="Id" />

                                <asp:BoundField DataField="FirstName" HeaderText="First Name" ReadOnly="true" />

                                <asp:BoundField DataField="LastName" HeaderText="Last Name" ReadOnly="true" />

                                <asp:BoundField DataField="Age" HeaderText="Age" ReadOnly="true" />

                            </Columns>

                        </asp:GridView>

                    </td>

                </tr>

                <tr>

                    <td colspan="2" align="center">

                        <asp:Label ID="Label5" runat="server" Font-Bold="true" Font-Names="Verdana" ForeColor="Maroon"></asp:Label>

                    </td>

                </tr>

            </table>

        </div>

    </center>

    </form>

</body>

</html>

 

Step 7: The complete code of WebForm1.aspx.cs looks like this:

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using SelectListDataWCFDataServiceApp.ServiceReference1;

namespace SelectListDataWCFDataServiceApp

{

    public partial class _Default : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

        }

        protected void Button2_Click(object sender, EventArgs e)

        {

            MainSiteDataContext objContext = new MainSiteDataContext(new Uri("http://win-5c3g1lanj3k:29782/_vti_bin/ListData.svc"));

            objContext.Credentials = System.Net.CredentialCache.DefaultCredentials;

            GridView1.DataSource = objContext.Students.ToList();

            GridView1.DataBind();

        }

    }

}

 

Step 8: The output of the application looks like this:


select-list-data-sharepoint2010.jpg 

 

Step 9: The select data output of the application looks like this:

 

wcf-select-list-data-sharepoint2010.jpg

I hope this article is useful for you.

Vijay Prativadi

Hey Everyone, It's Vijay. I am SDE mostly up on Microsoft Technologies. If you are thinking to know what I do mostly when at work. I get a chance to work upon few Microsoft technologies. All the way along my core tech... Read more

COMMENT USING

Trending up