NetCMS修改之二:单击新闻附件,直接打开文件「建议收藏」

发布时间:2025-12-09 13:52:28 浏览次数:4

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 += “<p><a href=/”” + CommonData.SiteDomain + “/down-” + rd[“id”].ToString() + “.aspx/”>” + rd[“URLName”].ToString() + “</a></p>”;
}
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 += “<p><a href=/”” + CommonData.SiteDomain + “/” + DownAdress + “/”>” + rd[“URLName”].ToString() + “</a></p>”;
}
rd.Close();
return str;
}

编译之后,将NetCMS.Web/Bin文件夹生成的NetCMS.Publish.dll复制到服务器的发行目录下,就可以了。

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477