当前位置:编程学习 > C#/ASP.NET >>

网站的幻灯片如何更换图片啊?

我现在是做好了个网站的幻灯片,就是像CSDN的那个图片可以自己变换的,但是我要如何更换那些图片呢?就是在后台如何更换呢,我是这样做的,在数据库存放在那些图片的路径,要更换是就从数据库把图片路径读出来,把旧的图片删掉,上传新的图片,但是好象不成功啊!一更换了图片就什么图片都不显示了。我把代码帖出来,大家看看:
protected void Page_Load(object sender, EventArgs e)
    {
        DataTable table = AdManager.GetOneAd("家装幻灯片");
        StringBuilder sb = new StringBuilder();
        sb.Append("<script script language=\"javascript\" type=\"text/javascript\">");
        sb.Append("var focus_width=573;var focus_height=187;var text_height=0;var swf_height = focus_height+text_height;");
        //图片路径
        sb.Append(" var pics='" + table.Rows[0]["AdImagePath"].ToString() + "|");
        sb.Append(table.Rows[1]["AdImagePath"].ToString() + "|");
        sb.Append(table.Rows[2]["AdImagePath"].ToString() + "|");
        sb.Append(table.Rows[3]["AdImagePath"].ToString() + "';");

        //图片连接
        sb.Append("var links='" + table.Rows[0]["AdUrl"].ToString() + "|");
        sb.Append(table.Rows[1]["AdUrl"].ToString() + "|");
        sb.Append(table.Rows[2]["AdUrl"].ToString() + "|");
        sb.Append(table.Rows[3]["AdUrl"].ToString() + "';");

        sb.Append("var texts='|||';");
        sb.Append("document.write('<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" width=\"'+ focus_width +'\" height=\"'+ swf_height +'\">');");
        sb.Append("document.write('<param name=\"allowScriptAccess\" value=\"sameDomain\"><param name=\"movie\" value=\"image/AdImage/p.swf\"><param name=\"quality\" value=\"high\"><param name=\"bgcolor\" value=\"#ffffff\">');");
        sb.Append("document.write('<param name=\"menu\" value=\"false\"><param name=wmode value=\"opaque\">');");
        sb.Append("document.write('<param name=\"FlashVars\" value=\"pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'\">');");
        sb.Append("document.write('<embed src=\"image/AdImage/p.swf\" wmode=\"opaque\" FlashVars=\"pics='+pics+'&links='+links+'&texts='+texts+'&borderwidth='+focus_width+'&borderheight='+focus_height+'&textheight='+text_height+'\" menu=\"false\" bgcolor=\"#ffffff\" quality=\"high\" width=\"'+ focus_width +'\" height=\"'+ focus_height +'\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" />');  document.write('</object>');");
        sb.Append("</script>");
        this.Response.Write(sb.ToString());
    }
这个是我在后台向前台输出的代码。 --------------------编程问答-------------------- 图片的路径从数据库读出来,
sb.Append(" var pics= '" + table.Rows[0]["AdImagePath"].ToString() + " ¦"); 
sb.Append(table.Rows[1]["AdImagePath"].ToString() + " ¦"); 
sb.Append(table.Rows[2]["AdImagePath"].ToString() + " ¦"); 
sb.Append(table.Rows[3]["AdImagePath"].ToString() + " ';"); 
就是这样写的,但是都不成功
--------------------编程问答-------------------- mark~~ --------------------编程问答-------------------- 建议你先将javascript代码在前台写死,测试一下效果,如果没有问题再写到后台。
如果还有问题,就对比一下你前台写死的代码和后台动态输出的html代码有什么差别,
相信一定能找到问题所在。(在生成的网页上右键——〉查看源文件) --------------------编程问答-------------------- 在前台已经写死了,而且也有效果出来。我在后台把table.Rows[1]["AdImagePath"].ToString() 
替换成某张图片的路径是可以显示出来的,但是用代码把图片替换后,就不能显示了,用手工把图片替换确是可以的,就是复制另外一张图片到文件夹中。用代码实现图片替换,我认真检查过了,是没有问题的,也是能把原来的图片删掉,把新的图片上传到文件夹中啊!代码贴出来:
 /// <summary>
    /// 上传图片
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void UpLoadBt_Click(object sender, EventArgs e)
    {
        Int32 id = Int32.Parse(this.Request.QueryString["adid"]);
        DataTable table = AdManager.GetOneAd(id);//获取一条广告图片的信息
        if (this.UrlRB.Checked == true)//如果是网络图片地址
        {
            String url_path = System.Web.HttpContext.Current.Server.MapPath("~/" + table.Rows[0]["AdImagePath"].ToString());
            if (GoodsManager.DeleteImage(new String[] { url_path }))//删掉原来的图片
            {
                AdManager.UpdateAd(id, this.AdImagePathTb.Text.Trim(), this.AdImageUrlTb.Text.Trim());//把网络地址更新入数据库表中
            }
            else
            {
                this.RegisterStartupScript("alert","<script>alert('修改失败')</script>");
            }
        }
        if (this.LocationRB.Checked == true)//如果是本地图片
        {
            String local_path = System.Web.HttpContext.Current.Server.MapPath("~/" + table.Rows[0]["AdImagePath"].ToString());
            if (GoodsManager.DeleteImage(new String[] { local_path }))//删掉原来的图片
            {
                this.ImageUpLoad.SaveAs(local_path);//上传新图片
                this.RegisterStartupScript("alert", "<script>alert('修改成功')</script>");
            }
            else
            {
                this.RegisterStartupScript("alert", "<script>alert('修改失败')</script>");
            }
        }
    } --------------------编程问答-------------------- up.. --------------------编程问答-------------------- 不管他幻灯不幻灯
他只是在读取 图片地址的时候来 打到目的的 --------------------编程问答-------------------- http://topic.csdn.net/u/20110211/15/3e20e8d5-077f-4711-8714-8f112194a4e1.html --------------------编程问答-------------------- 用FLASH网上就有啊
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,