⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rss_year.aspx.cs

📁 具有一般blog的相册、文章、作品等功能程序结构也比较清晰采用三层结构开发(利用了SQLHelper.cs(源码))采用了UrlReWrite技术后台采用FTB(FreeTextBox)编辑器
💻 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 + -