📄 rss_year.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml;
using System.IO;
using liuwei.FrameWork;
using liuwei.FrameWork.DB;
namespace liuwei
{
/// <summary>
/// rss_year 的摘要说明。
/// </summary>
public class rss_year : System.Web.UI.Page
{
private string bigTypeID;
private string smallTypeID;
private string postYear;
private void Page_Load(object sender, System.EventArgs e)
{
DataTable rssData;
bigTypeID = Request.QueryString["bigtypeid"];
smallTypeID = Request.QueryString["smalltypeid"];
postYear = Request.QueryString["postyear"];
//全部类别更新显示
if (bigTypeID=="0"&&smallTypeID=="0")
{
rssData = DbProvider.Instance().GetContentListByYear(0,0,Convert.ToInt32(postYear));
}
//不显示小类,只显示大类
else if (smallTypeID==null||smallTypeID==""||smallTypeID=="0")
{
rssData = DbProvider.Instance().GetContentListByYear(Convert.ToInt32(bigTypeID),0,Convert.ToInt32(postYear));
}
else
{
rssData = DbProvider.Instance().GetContentListByYear(Convert.ToInt32(bigTypeID),Convert.ToInt32(smallTypeID),Convert.ToInt32(postYear));
}
if(rssData != null && rssData.Rows.Count > 0)
{
string rssXml =GetRSS(rssData);
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "text/xml";
Response.Write(rssXml);
}
rssData.Clear();
rssData.Dispose();
}
private string GetRSS(DataTable dt)
{
try
{
//设定rss标题
//大类名
string rssTitle;
if (bigTypeID!="0"&&bigTypeID!=""&&bigTypeID!=null&&smallTypeID=="0")
{
DataTable dtBigType=DbProvider.Instance().GetBigTypeInfo(Convert.ToInt32(bigTypeID));
rssTitle = dtBigType.Rows[0]["bigtypename"].ToString();
dtBigType.Clear();
dtBigType.Dispose();
}
else if (smallTypeID!="0"&&smallTypeID!=""&&smallTypeID!=null)
{
DataTable dtTypeInfo=DbProvider.Instance().GetSmallTypeInfo(Convert.ToInt32(smallTypeID));
rssTitle = dtTypeInfo.Rows[0]["smalltypename"].ToString();
dtTypeInfo.Clear();
dtTypeInfo.Dispose();
}
else
{
rssTitle="All ";
}
StringWriter sw = new StringWriter();
XmlTextWriter writer = new XmlTextWriter(sw);
//writer.WriteStartDocument();
//RSS ROOT
//writer.WriteRaw("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
writer.WriteStartElement("rss");
writer.WriteAttributeString("version","2.0");
//Channel
writer.WriteStartElement("channel");
//Channel Description
writer.WriteElementString("title",rssTitle);
writer.WriteElementString("link",Context.Request.Url.ToString());
writer.WriteElementString("description",rssTitle + " Updates In " + postYear);
writer.WriteElementString("generator","1.0");
int count = dt.Rows.Count;
//基地址
int end=Context.Request.Url.ToString().LastIndexOf("/");
int start=0;
string basrUrl=Context.Request.Url.ToString().Substring(start,end);
for(int i = 0; i< count; i++)
{
DataRow dr = dt.Rows[i];
writer.WriteStartElement("item");
writer.WriteElementString("title",(string)dr["Title"]);
writer.WriteElementString("link",basrUrl+"/" + UrlFormat.ContentUrl((DateTime)dr["pubtime"],(int)dr["postid"]));
writer.WriteElementString("pubDate",dr["pubtime"].ToString());
//string desc = (string)dr["content"];
//writer.WriteElementString("description",desc);
//writer.WriteElementString("publisher",(string)dr["publisher"]);
writer.WriteEndElement();
}
writer.WriteEndElement();
writer.WriteEndElement();
writer.Flush();
writer.Close();
sw.Close();
return sw.ToString();
}
catch(Exception e)
{
throw e;
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -