Discussion.ascx.cs:
namespace Intranet.Discussions
{
using System;
using System.ComponentModel;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using System.Text;
[ToolboxItemAttribute(false)]
public partial class Discussions : WebPart
{
// Uncomment the following SecurityPermission attribute only when doing Performance Profiling on a farm solution
// using the Instrumentation method, and then remove the SecurityPermission attribute when the code is ready
// for production. Because the SecurityPermission attribute bypasses the security check for callers of
// your constructor, it's not recommended for production purposes.
// [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Assert, UnmanagedCode = true)]
public Discussions()
{
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
InitializeControl();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
try
{
string newLatestDisussion = string.Empty;
using(SPSite latesNews = new SPSite(SPContext.Current.Web.Url))
{
using (SPWeb latestWeb = latesNews.OpenWeb())
{
SPList latestList = latestWeb.Lists["Discussion"];
SPQuery latestQuery = new SPQuery();
latestQuery.Query = "<GetListItems><Query><OrderBy><FieldRef Name=\"DiscussionLastUpdated\" Ascending=\"False\" /></OrderBy></Query><ViewFields><FieldRef Name=\"Body\" /><FieldRef Name=\"Subject\" /><FieldRef Name=\"DiscussionLastUpdated\" Ascending=\"True\" /><FieldRef Name=\"Modified\" /></ViewFields><QueryOptions /></GetListItems>";
SPListItemCollection latestListCollection = latestList.GetItems(latestQuery);
foreach (SPListItem item in latestListCollection)
{
string disussionTemplate = "<div class=\"rows border_none left\"><div class=\"cols-1 left\"> <li class=\"icon-large discussions\"></li> </div><div class=\"cols-2 left\"> <h3>[Body]</h3><p>[Subject][Modified]</p></div></div>";
string disussionBody = Convert.ToString(item["Body"]);
string discussionSubject = Convert.ToString(item["Subject"]);
string dicussionModdate = Convert.ToDateTime(item["Modified"]).ToShortDateString();
disussionTemplate = disussionTemplate.Replace("[Body]", disussionBody);
disussionTemplate = disussionTemplate.Replace("[Subject]", discussionSubject);
disussionTemplate = disussionTemplate.Replace("[Modified]", dicussionModdate);
newLatestDisussion += disussionTemplate;
}
latestdiscussionTemplate.InnerHtml = newLatestDisussion;
}
}
}
catch (Exception ex)
{
}
}
}
}
}
Discussion.ascx:
<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Latest Discussions.ascx.cs" Inherits="Intranet.Discussions.Discussions" %>
<div class="ldiscussions">
<div class="red_bg">
<h2> Discussions</h2>
</div>
<div id="discussionTemplate" runat="server"></div>
<div class="more text-dec">
<div class="read_more right"><img src="/Style Library/Projectname/images/more.png" width="18" height="17"></div>
<div class="read_more right"><a href="http://win-sp:100/Lists/Discussion/AllItems.aspx">More</a> </div>
</div>
</div>
Element File:
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/" >
<Module Name="Discussions" List="113" Url="_catalogs/wp">
<File Path="Discussions\ Discussions.webpart" Url="Intranet.Discussions.webpart" Type="GhostableInLibrary" >
<Property Name="Group" Value="Custom" />
</File>
</Module>
</Elements>
namespace Intranet.Discussions
{
using System;
using System.ComponentModel;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using System.Text;
[ToolboxItemAttribute(false)]
public partial class Discussions : WebPart
{
// Uncomment the following SecurityPermission attribute only when doing Performance Profiling on a farm solution
// using the Instrumentation method, and then remove the SecurityPermission attribute when the code is ready
// for production. Because the SecurityPermission attribute bypasses the security check for callers of
// your constructor, it's not recommended for production purposes.
// [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Assert, UnmanagedCode = true)]
public Discussions()
{
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
InitializeControl();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
try
{
string newLatestDisussion = string.Empty;
using(SPSite latesNews = new SPSite(SPContext.Current.Web.Url))
{
using (SPWeb latestWeb = latesNews.OpenWeb())
{
SPList latestList = latestWeb.Lists["Discussion"];
SPQuery latestQuery = new SPQuery();
latestQuery.Query = "<GetListItems><Query><OrderBy><FieldRef Name=\"DiscussionLastUpdated\" Ascending=\"False\" /></OrderBy></Query><ViewFields><FieldRef Name=\"Body\" /><FieldRef Name=\"Subject\" /><FieldRef Name=\"DiscussionLastUpdated\" Ascending=\"True\" /><FieldRef Name=\"Modified\" /></ViewFields><QueryOptions /></GetListItems>";
SPListItemCollection latestListCollection = latestList.GetItems(latestQuery);
foreach (SPListItem item in latestListCollection)
{
string disussionTemplate = "<div class=\"rows border_none left\"><div class=\"cols-1 left\"> <li class=\"icon-large discussions\"></li> </div><div class=\"cols-2 left\"> <h3>[Body]</h3><p>[Subject][Modified]</p></div></div>";
string disussionBody = Convert.ToString(item["Body"]);
string discussionSubject = Convert.ToString(item["Subject"]);
string dicussionModdate = Convert.ToDateTime(item["Modified"]).ToShortDateString();
disussionTemplate = disussionTemplate.Replace("[Body]", disussionBody);
disussionTemplate = disussionTemplate.Replace("[Subject]", discussionSubject);
disussionTemplate = disussionTemplate.Replace("[Modified]", dicussionModdate);
newLatestDisussion += disussionTemplate;
}
latestdiscussionTemplate.InnerHtml = newLatestDisussion;
}
}
}
catch (Exception ex)
{
}
}
}
}
}
Discussion.ascx:
<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Latest Discussions.ascx.cs" Inherits="Intranet.Discussions.Discussions" %>
<div class="ldiscussions">
<div class="red_bg">
<h2> Discussions</h2>
</div>
<div id="discussionTemplate" runat="server"></div>
<div class="more text-dec">
<div class="read_more right"><img src="/Style Library/Projectname/images/more.png" width="18" height="17"></div>
<div class="read_more right"><a href="http://win-sp:100/Lists/Discussion/AllItems.aspx">More</a> </div>
</div>
</div>
Element File:
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/" >
<Module Name="Discussions" List="113" Url="_catalogs/wp">
<File Path="Discussions\ Discussions.webpart" Url="Intranet.Discussions.webpart" Type="GhostableInLibrary" >
<Property Name="Group" Value="Custom" />
</File>
</Module>
</Elements>
No comments:
Post a Comment