一.这是我的数据库结构
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();
}
}
}
写完这些图片不出来,我想知道怎么改才可以显示图片,请能解决的博友帮助一下我这个刚刚入门的菜鸟,非常感谢!!!!
@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>
}
}
就这个意思,你断点调试看看。
你还是应该多看看例子或则多看看书,这个是很基本的。
我用的是ASPX,不是razor,可以在帮我看看吗?谢谢。
@青春纪念册: Aspx原理一样的吧,就是写的语法不同啊。
你首先一个循环吧,然后就是给Img的Src赋值,你图片的路径已经是全的了,你直接给Img的Src赋值就好了。
@青春纪念册: 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: 我的网站有部分图片长宽高不一样,就像是下面这张图,所以不能用循环,我问我的同学他也给了我一个razor做得一部分代码,是用你说的循环,可是在我这不同宽高的图片可以用循环输出吗?我现在改了一下代码:<td><div align="center" style="width:950px; height:142px;"><img src="<%=Html.TextBoxFor(p=>p.tb_Image.imageID)%>"/></div></td>,图片还是没有出来。
@青春纪念册: 你最好把我写的东西看明白了^_^,那里不明白你再问。我跟你说了,你数据库里的图片路径是全的,是ImageUrl字段,而不是ImageID字段,明白吗??
@青春纪念册: 另外,你是要生成<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: 这个我明白,是我粗心,写错了,后来我改成了ImageUrl去浏览,还是没显示出图片。
@kylin.chen: 我去看看那个贴,但是如果再改用DIV时间可能来不及了,还有其他的方法可以解决吗?我们还有几天就要交了。
@青春纪念册: 你没看我写的内容是吧,还是你诚心的!!
你html里生成的代码是要这样的:<img src="../../Content/Images/T14.jpj"/>才能看到图片。
你看你生成的代码是什么样了,你干嘛非要用HTML.textboxfor,这个东西是生成一个输入框的,不是写内容。我已经写给你代码了:<img src="<%=Model.ImageUrl)%>"/>。兄弟,你连这些东西的基本语法都不知道啊。
我觉得不显示,有可能是你的路径不对,你可以用Chrome等看看,是不是图片获取为404?在mvc中,用Url.Content("")转换路径。
从你的代码看出,你的图片路径没有设置对,参考楼上路径的设置方式。
没写从数据库读取的代码时,用的那个路径是对的,图片可以正常显示。
@青春纪念册: 那你查看源代码对比下,图片路径是否是一样的。
@幻天芒: 我现在写的那句显示图片的代码是我查看网页源代码到是这样的
麻烦再帮我看看,非常感谢。
@青春纪念册: 这。。。完全不是渲染的地址啊~你是写错代码了。不应该用Html.TextBoxfor,直接用Model.imageurl这种形式即可。如楼上所说,你可能对MVC太不熟悉了,还需要加强下。
@青春纪念册请问你的问题解决了吗?能不能给我一份完整的代码,我想参考一下,我正在做一个类似的项目,求帮助下