首页 新闻 赞助 找找看

想从数据库读取图片显示到HTML页(用MVC框架做的项目)---菜鸟求助

0
悬赏园豆:10 [已解决问题] 解决于 2013-06-21 23:40

一.这是我的数据库结构

1.这是图片表imageID与goodsUrlID是主外键关系

2.这是商品信息表

二.这是我要的页面效果的网址

 http://qianyi.tmall.com/shop/view_shop.htm?spm=a220o.1000855.w15373804-18125908363.1.F7o5ou

 

三.这是我写的view的用来显示图片的一句代码

          <tr>
           <!-- <td><div align="center"><img src="../../Content/images/T9.jpg" width="950" height="142" /></div></td>-->
           <td><div align="center" style="width:950px; height:142px;"><img src="../Content/images/<%=Html.TextBoxFor(p=>p.goodsUrlID,new{@id=1})%>"/></div></td>
          </tr>
四.这是Controller的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using qianyi.Models;
namespace qianyi.Controllers
{
    public class IndexController : Controller
    {
        //
        // GET: /Index/

        public ActionResult Index()
        {
            return View();
        }
        [HttpPost]
        public ActionResult Index(Models.tb_GoodsInfo  obj)
        {
            Models.DataClasses1DataContext mydb = new Models.DataClasses1DataContext();
            List<Models.tb_GoodsInfo> lst = (List<Models.tb_GoodsInfo>)mydb.tb_GoodsInfo.Where(o => o.goodsTypeID == 1);
            return View();
        }

        [HttpPost]
        public ActionResult Index(int id)
        {
            Models.DataClasses1DataContext mydb = new Models.DataClasses1DataContext();
             mydb.tb_GoodsInfo.Where(o => o.goodsUrlID == id);
            return View();
        }
    }
}

 

写完这些图片不出来,我想知道怎么改才可以显示图片,请能解决的博友帮助一下我这个刚刚入门的菜鸟,非常感谢!!!!

MVC
青春纪念册的主页 青春纪念册 | 初学一级 | 园豆:186
提问于:2013-06-19 11:24
< >
分享
最佳答案
0

@model IEnumerable<Models.tb_GoodsInfo>

@{

for each tb_GoodsInfo goods in Model ){

<td><div align="center" style="width:950px; height:142px;"><img src="@goods.imageUrl"/></div></td>

}

}

就这个意思,你断点调试看看。
你还是应该多看看例子或则多看看书,这个是很基本的。

收获园豆:5
kylin.chen | 小虾三级 |园豆:983 | 2013-06-19 11:43

我用的是ASPX,不是razor,可以在帮我看看吗?谢谢。

青春纪念册 | 园豆:186 (初学一级) | 2013-06-19 11:46

@青春纪念册: Aspx原理一样的吧,就是写的语法不同啊。
你首先一个循环吧,然后就是给Img的Src赋值,你图片的路径已经是全的了,你直接给Img的Src赋值就好了。

kylin.chen | 园豆:983 (小虾三级) | 2013-06-19 11:54

@青春纪念册: MVC我没有用过aspx模板。估计就是把@{换成<%%>吧,试着改一改。
只有你自己有环境啊,你自己断点调试一下吧。

@model IEnumerable<Models.tb_GoodsInfo>

<%

for each tb_GoodsInfo goods in Model ){

<td><div align="center" style="width:950px; height:142px;"><img src="<%=goods.imageUrl%>"/></div></td>

}

%>

kylin.chen | 园豆:983 (小虾三级) | 2013-06-19 11:57

@kylin.chen: 我的网站有部分图片长宽高不一样,就像是下面这张图,所以不能用循环,我问我的同学他也给了我一个razor做得一部分代码,是用你说的循环,可是在我这不同宽高的图片可以用循环输出吗?我现在改了一下代码:<td><div align="center" style="width:950px; height:142px;"><img src="<%=Html.TextBoxFor(p=>p.tb_Image.imageID)%>"/></div></td>,图片还是没有出来。

青春纪念册 | 园豆:186 (初学一级) | 2013-06-19 12:02

@青春纪念册: 你最好把我写的东西看明白了^_^,那里不明白你再问。我跟你说了,你数据库里的图片路径是全的,是ImageUrl字段,而不是ImageID字段,明白吗??

kylin.chen | 园豆:983 (小虾三级) | 2013-06-19 13:04

@青春纪念册: 另外,你是要生成<img src="../../Content/Images/T14.jpj"/>这样的一段代码,那么你把ImageUrl字段的内容取出来直接放到src后面就好了,:<td><div align="center" style="width:950px; height:142px;"><img src="<%=Model.ImageUrl)%>"/></div></td>。

另外,循环一定要用,图片高度是通过图片属性来实现的,跟你循环没关系,而且你图片高度不一样,而且还要紧密排列,那么你不能用table做,只能用div来做,这是图片瀑布流的问题,有类似的插件,你要就研究,园子里前面有一个类似的帖子。

kylin.chen | 园豆:983 (小虾三级) | 2013-06-19 13:08

@kylin.chen: 这个我明白,是我粗心,写错了,后来我改成了ImageUrl去浏览,还是没显示出图片。

青春纪念册 | 园豆:186 (初学一级) | 2013-06-19 17:05

@kylin.chen: 我去看看那个贴,但是如果再改用DIV时间可能来不及了,还有其他的方法可以解决吗?我们还有几天就要交了。

青春纪念册 | 园豆:186 (初学一级) | 2013-06-19 17:14

@青春纪念册: 你没看我写的内容是吧,还是你诚心的!!
你html里生成的代码是要这样的:<img src="../../Content/Images/T14.jpj"/>才能看到图片。
你看你生成的代码是什么样了,你干嘛非要用HTML.textboxfor,这个东西是生成一个输入框的,不是写内容。我已经写给你代码了:<img src="<%=Model.ImageUrl)%>"/>。兄弟,你连这些东西的基本语法都不知道啊。

kylin.chen | 园豆:983 (小虾三级) | 2013-06-19 21:02
其他回答(2)
0

我觉得不显示,有可能是你的路径不对,你可以用Chrome等看看,是不是图片获取为404?在mvc中,用Url.Content("")转换路径。

从你的代码看出,你的图片路径没有设置对,参考楼上路径的设置方式。

收获园豆:5
幻天芒 | 园豆:37175 (高人七级) | 2013-06-19 11:59

没写从数据库读取的代码时,用的那个路径是对的,图片可以正常显示。

支持(0) 反对(0) 青春纪念册 | 园豆:186 (初学一级) | 2013-06-19 12:09

@青春纪念册: 那你查看源代码对比下,图片路径是否是一样的。

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2013-06-19 12:51

@幻天芒: 我现在写的那句显示图片的代码是我查看网页源代码到是这样的

麻烦再帮我看看,非常感谢。

支持(0) 反对(0) 青春纪念册 | 园豆:186 (初学一级) | 2013-06-19 17:12

@青春纪念册: 这。。。完全不是渲染的地址啊~你是写错代码了。不应该用Html.TextBoxfor,直接用Model.imageurl这种形式即可。如楼上所说,你可能对MVC太不熟悉了,还需要加强下。

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2013-06-20 00:20
0

@青春纪念册请问你的问题解决了吗?能不能给我一份完整的代码,我想参考一下,我正在做一个类似的项目,求帮助下

lovepanda | 园豆:204 (菜鸟二级) | 2013-10-30 10:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册