using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
namespace UT.WebParts.NewsWP
{
[ToolboxItemAttribute(false)]
public class NewsWP : WebPart
{
protected override void CreateChildControls()
{
}
protected override void Render(HtmlTextWriter writer)
{
base.Render(writer);
string newslist = "<ul id='news' runat='server'>";
//news.InnerHtml = "";
using (SPSite spSite = new SPSite(SPContext.Current.Web.Url))
{
using (SPWeb web = spSite.OpenWeb())
{
try
{
if (web.Lists["News"] != null)
{
SPList List = web.Lists["News"];
foreach (SPListItem li in List.Items)
{
newslist += "<li><div class='date'>";
DateTime date = DateTime.Parse(li.GetFormattedValue("Date").Replace('/', '-'));
//DateTime date = new DateTime(Int32.Parse(d[2]), Int32.Parse(d[1]), Int32.Parse(d[0]));
newslist += date.ToString("MMM dd, yyyy");
newslist += "</div><div class='text-holder'><h4>";
newslist += "<a href='NewsDetail.aspx?UniqueID=" + li.ID.ToString() + "'>";
newslist += li.Title;
newslist += "</a></h4><p>";
newslist += li.GetFormattedValue("Description");
newslist += "<a href='NewsDetail.aspx?UniqueID=" + li.ID.ToString() + "'>Read More ></a></p></div></li>";
}
}
}
catch
{
newslist += "An error has occured in this web part.";
}
}
}
newslist += "</ul>";
writer.Write(newslist);
//news.InnerHtml = newslist;
}
}
}
I am trying to put a custom webpart onto my page layout but it is being rendered twice for some reason. Above is the whole code for my NewWP.cs file. In the layout page I have the following. This code creates two webparts, one that is editable and one that is now. Am I forgetting to add something?
<%@ Register Tagprefix="NewsWP" Namespace="UT.WebParts.NewsWP" Assembly="UT, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3f63cab1c16c2fff" %>
.
.
.
<WebPartPages:WebPartZone id="g_0A8F3D3F6B3B43D4BB9FC39E55892F0C" AllowPersonalization="true" runat="server" title="Zone 3"><ZoneTemplate>
<NewsWP:NewsWP AllowEdit="true" ChromeType="None" AllowHide="true" runat="server" id="NewsWP"></NewsWP:NewsWP>
</ZoneTemplate></WebPartPages:WebPartZone>