您的位置:首页 > 其它

NetCMS修改之二:单击新闻附件,直接打开文件

2009-04-08 14:37 375 查看
NetCMS系统的新闻附件,是通过down.aspx页面实现下载附件的。这样做的好处可能是可以隐藏附件的真实地址,但给用户使用会带来一个小麻烦:无法使用右键单击来实现将下载的文件另存为。

经检查,此功能是在NetCMS.Publish命名空间的LabelMass类中定义的getNewsFiles实现的,文件位于NetCMS.Publish/Label/NewsParameter.cs。原来是这样定义的:

/// <summary>
/// 取得附件地址
/// </summary>
/// <param name="NewsID">新闻编号</param>
/// <returns>返回附件地址</returns>
protected string getNewsFiles(string NewsID, int NewsTF)
{
string str = "";
IDataReader rd = CommonData.DalPublish.GetNewsFiles(NewsID);
while (rd.Read())
{
str += "<div><a href=/"" + CommonData.SiteDomain + "/down-" + rd["id"].ToString() + ".aspx/">" + rd["URLName"].ToString() + "</a></div>";
}
rd.Close();
return str;
}

很明显可以看出,生成的html页面的链接是down.aspx页面。现将其改为如下:

/// <summary>
/// 取得附件地址
/// </summary>
/// <param name="NewsID">新闻编号</param>
/// <returns>返回附件地址</returns>
protected string getNewsFiles(string NewsID, int NewsTF)
{
string str = "";
IDataReader rd = CommonData.DalPublish.GetNewsFiles(NewsID);
while (rd.Read())
{
string DownAdress = rd["FileUrl"].ToString().ToLower();
DownAdress = DownAdress.Replace("{@dirfile}", NetCMS.Config.UIConfig.dirFile);
DownAdress = DownAdress.Replace("{@dirtemplet}", NetCMS.Config.UIConfig.dirTemplet);
string dimm = NetCMS.Config.UIConfig.dirDumm;
if (dimm.Trim() != string.Empty)
{
dimm = "/" + dimm;
}
DownAdress = dimm + DownAdress;

str += "<div><a href=/"" + CommonData.SiteDomain + "/" + DownAdress + "/">" + rd["URLName"].ToString() + "</a></div>";
}
rd.Close();
return str;
}

编译之后,将NetCMS.Web/Bin文件夹生成的NetCMS.Publish.dll复制到服务器的发行目录下,就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐