讨论板问题:前两天用的讨论板列表,如果在自己创建的页面上通过spd添加,默认显示多列。在MOSS中通过编辑页面直接拖到页面上,只显示主题一列,可通过xslt视图去掉菜单栏。可是在自己创建的页面上,通过spd去掉菜单栏会出莫名其妙的错误。
还是通过自己写用户控件的方式讨论板的内容,通过链接显示详细信息。主要代码:
SPSite site = new SPSite("http://moss");
SPWeb web = site.RootWeb;
web.AllowUnsafeUpdates = true;
SPList list = web.Lists["论坛"];
SPQuery qry = new SPQuery();
qry.Query = "<Where><Neq><FieldRef Name='Title' />" +
"<Value Type='Text'>a</Value></Neq></Where>";
SPListItemCollection lists = list.GetItems(qry);
DataTable tbl = lists.GetDataTable();
<%#string.Format("~/{0}/flat.aspx?RootFolder={1},Eval("Title"))%>
RSS查看器:URL是RSS源的地址,MOSS站点的RSS源地址,必须启用匿名访问才可以打开源(不知启用后能否打开,没试)。可以打开外部网站的RSS源。
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = LoadRSS("http://blog.csdn.net/dreamboy0908/rss.aspx",5);
GridView1.DataSource = dt;
GridView1.DataBind();
}
public DataTable LoadRSS(string RssUrl, int RssCount)
{
XmlDocument doc = new XmlDocument();
DataTable Rss = new DataTable("items");
DataColumn col = new DataColumn("title", typeof(string));
Rss.Columns.Add(col);
col = new DataColumn("link", typeof(string));
Rss.Columns.Add(col);
if (RssUrl != "")
{
try
{
doc.Load(RssUrl);
XmlNodeList nodelist = doc.GetElementsByTagName("item");
XmlNodeList objItems1;
int i = 1;
if (doc.HasChildNodes)
{
foreach (XmlNode node in nodelist)
{
if (i > RssCount)
break;
string title = "";
string link = "";
i += 1;
if (node.HasChildNodes)
{
objItems1 = node.ChildNodes;
foreach (XmlNode node1 in objItems1)
{
switch (node1.Name)
{
case "title":
title = node1.InnerText;
break;
case "link":
link = node1.InnerText;
break;
}
if (title != "" && link != "")
break;
}
DataRow row = Rss.NewRow();
row["title"] = title;
row["link"] = link;
Rss.Rows.Add(row);
}
}
}
}
catch (Exception)
{
//
}
}
else
{
//
}
return Rss;
}