ASPNET Forums管理站点链接 (转)

原文来自http://blog.joycode.com/ceocio/archive/2005/02/25/44862.aspx

ASPNET Forums中是将所有的站点链接都保存到一个XML文件中,通过程序对XML文件进行访问,或者直接取出链接,或者将链接加上参数。

这个文件的格式是这样的:

xml version="1.0" encoding="utf-8" ?> <urls> <url name="errorMessage" path="/error.aspx?ErrorMessageID={0}" /> <url name="News" path="/News.aspx?TID={0}^CId={1}" /> urls>

这里用^替代了&符号。

我们只需要读出这个XML文件就可以了,也可以把读出的链接信息缓存起来,然后再调用。


SiteUrls.cs

using System; using System.Web; using System.Collections; using System.Collections.Specialized; using System.Xml; using WestRoad.Trip.FrameWork.Enumerations; namespace WestRoad.Trip.FrameWork { /// <summary> /// SiteUrls 的摘要说明。 /// </summary> public class SiteUrls { Member variables & constructor //eg:return a site url public string News(int TID, int CID) { return string.Format(paths["News"], TID.ToString(), CID.ToString()); } public string ErrorMessage (SiteExceptionType exceptionType) { return string.Format( paths["errormessage"], ((int) exceptionType).ToString()); } Private static helper methods Public properties } }

 

上面的Globals.ApplicationPath的代码是:

Globals.cs

static public string ApplicationPath { get { string applicationPath = HttpContext.Current.Request.ApplicationPath; if (applicationPath == "/") { return string.Empty; } else { return applicationPath; } } }

 

在Globals.cs中加上如下代码:

static public SiteUrls GetSiteUrls() { return new SiteUrls(); }

 

然后在前端如此调用:

Response.Redirect (Globals.GetSiteUrls().News( 1,2));

posted @ 2005-02-28 08:19  沉默天蝎的学习汇集  阅读(335)  评论(0)    收藏  举报