后台配置前台动态显示图片——善良公社
发布时间:2020-12-15 17:44:25 所属栏目:百科 来源:网络整理
导读:? ? ? ? 在善良公社项目中,首页的图片显示,不仅要求要根据客户的需要来切换图片,而且还是根据后台来配置,后台要求显示哪些图片那么前台就显示哪些图片。 ? ? ? ?界面效果如下:下面总共显示了三种图片,可以滑动点击,在上面查看大图 ? ? ?? ? ? ? ? 实
? ? ? ? 在善良公社项目中,首页的图片显示,不仅要求要根据客户的需要来切换图片,而且还是根据后台来配置,后台要求显示哪些图片那么前台就显示哪些图片。 ? ? ? ?界面效果如下:下面总共显示了三种图片,可以滑动点击,在上面查看大图 ? ? ?? ? ? ? ? 实现这些需求我是这样做的: ? ? ? ? 在显示图片时利用flash,自己编写了XML文件,Flash读取XML文件,然后设置样式在首页上显示,其XML文件如下:这三张图片是默认的图片 <?xml version="1.0" encoding="utf-8"?>
<photos>
<photo filename="tp-1.jpg" thumbnail="tp-1.jpg" description="" />
<photo filename="tp-2.jpg" thumbnail="tp-2.jpg" description="" />
<photo filename="tp-3.jpg" thumbnail="tp-3.jpg" description="" />
</photos>
? ? ? ? 当这些齐全的时候只需要在前台写上如下,就可以正常显示了。
<td style="padding: 8px 8px 1px 8px; word-wrap:break-word; width:350px;">
<div id="idPicText"></div>
<table width="99%" height="102" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center" valign="top">
<script type="text/javascript">//admin/SystemManager/AC_FL_RunContent('codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,19,0','width','320','height','300','src','Photos/photo_xml','quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','Photos/photo_xml'); //end AC code
</script>
</td>
</tr>
</table>
? ? ? ? 紧接着就是如何在后台设置了要显示的图片后怎么在前台显示了,这里涉及到动态修改XML的。后台界面如下: 当"是否显示"字段为N时不再首页显示该图片,当更改为Y时,在首页相应的图片,如下: 此时的XML文件更改为: <?xml version="1.0" encoding="utf-8"?>
<photos>
<photo filename="tp-1.jpg" thumbnail="tp-1.jpg" description="" />
<photo filename="tp-2.jpg" thumbnail="tp-2.jpg" description="" />
<photo filename="tp-3.jpg" thumbnail="tp-3.jpg" description="" />
<photo filename="../../Photos/1_20140204162259.png" thumbnail="../../Photos/1_20140204162259.png" description="" />
</photos>
如何修改XML文件,如下:
if (EindexImg.IsShow == "N") //如果是否显示更改为N时
{
string strfile = "photos.xml"; //用到的xml文件名
string fileName = context.Server.MapPath(strfile); ; //context.Server.MapPath获取当前aspx页所处的路径
string[] splitByChar = fileName.Split(''); //将获取到的路径以分割
string FileName = splitByChar[0] + "/" + splitByChar[1] + "/" + splitByChar[2] + "/" + splitByChar[3] + "/" + splitByChar[4] + "/" + splitByChar[5] + "/" + splitByChar[6] + "/" + "Photos/" + splitByChar[9]; //重新构建正确的xml地址
XmlDocument myXml = new XmlDocument();
try
{
myXml.Load(FileName); //加载XML文件
}
catch
{
myXml.Load(FileName);
}
XmlNode rootXml = myXml.SelectSingleNode("photos"); //查询XML文件的根节点("photos")
XmlNode root = myXml.DocumentElement;
XmlNodeList nodeList = root.ChildNodes;
foreach (XmlNode node in nodeList) //遍历子节点
{
if (node.Attributes["filename"].Value == EindexImg.IndexImgURL) //当子节点中的地址与数据库中存入的地址相同
{
node.ParentNode.RemoveChild(node); //删除这个节点,不让图片显示
}
}
myXml.Save(FileName); //保存XML文件
}
? ? ? 既然知道了当为“N”时如何修改XML,那么当为“Y”时就知道如何修改了。 ? ? ? 总结:其实对节点的操作,早在学习JS时就学了,说白了修改XML也就是对节点的修改,掌握基础知识很有必要,以少集多,慢慢的提高自己!
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |