mycontroller.cs
[HttpPost]
public ActionResult Index(int searchtext)
{
var data = (from pm in db.ProductMasters
join shi in db.SuppliersHotelsInfoes
on pm.ProductID equals shi.LocHotelID
where shi.SearchID == searchtext
select pm).ToList().Take(10);
ViewBag.Data = data;
return View();
}
发送viewBag.Data来查看
<% try { %>
<tr><td>
<% foreach(var item in ViewBag.Data){ %>
<img alt="" src="<%item. %>" />
</td><%} %> <% foreach(var item in ViewBag.Data) { %>
<td><%: Html.DisplayFor(modelItem => "")%></td>
<td><%: Html.DisplayFor(modelItem => "")%> </td>
<td><%: Html.DisplayFor(modelItem => "")%></td>
</tr>
<%} }%>
<%catch(Exception ex){ }%>
</table>
在这里,我们如何从&#34; var item&#34;
中获取值答案 0 :(得分:2)
我暂时没有使用aspx视图语法,但我相信你错过了等号。
你目前有这个:
<img alt="" src="<%item. %>" />
而应该是这个
<img alt="" src="<%=item. %>" />
注意&#34;项目&#34;
之前的=
另外考虑使用更高版本的MVC,它支持更清晰的剃刀语法。
修改强>
发表评论后,我看到了您的问题。您正在使用ViewBag这是一种动态类型。因此,无法推断您的ViewBag.Data
对象是产品母版的集合。您有两种选择:
选项1 - 不要使用ViewBag,而是使用强类型模型。
选项2 - 在您的视图中,将ViewBag.Data
投射到产品母带列表中。
例如:
而不是
<% foreach(var item in ViewBag.Data){ %>
使用此
<% foreach(var item in (List<ProductMaster>)ViewBag.Data){ %>