C# 看似简单的MVC局部视图问题
我试图在局部视图中的表的两列中显示我的数据(图像)。下面的代码似乎不起作用,因为它在自己的行中显示每个图像。我错过了什么C# 看似简单的MVC局部视图问题,c#,html,asp.net-mvc,foreach,partial-views,C#,Html,Asp.net Mvc,Foreach,Partial Views,我试图在局部视图中的表的两列中显示我的数据(图像)。下面的代码似乎不起作用,因为它在自己的行中显示每个图像。我错过了什么 <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> <%@ Import Namespace="ULS_Site.Models"%> <%var alternating = false;%> <table> <% foreach (
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%@ Import Namespace="ULS_Site.Models"%>
<%var alternating = false;%>
<table>
<% foreach (var item in ViewData.Model as IEnumerable<image>) %>
<%{%>
<%if (!alternating) %>
<%{ %>
<tr>
<%}; %>
<td>
<a href="<%= item.image_path %>" target="_blank" >
<img src="<%= item.image_path %>" alt=" " width="100" />
</a>
</td>
<%if (!alternating) %>
<%{ %>
</tr>
<%}; %>
<%alternating = !alternating;%>
<%}%>
</table>
试试这个,这将解决您在表格中每行呈现两列的问题
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%@ Import Namespace="ULS_Site.Models"%>
<%var alternating = true;%>
<table>
<% foreach (var item in ViewData.Model as IEnumerable<image>) %>
<%{%>
<%if (alternating) %>
<%{ %>
<tr>
<%}; %>
<td>
<a href="<%= item.image_path %>" target="_blank" >
<img src="<%= item.image_path %>" alt=" " width="100" />
</a>
</td>
<%if (!alternating) %>
<%{ %>
</tr>
<%}; %>
<%alternating = !alternating;%>
<%}%>
</table>
试试这个,这将解决您在表格中每行呈现两列的问题
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%@ Import Namespace="ULS_Site.Models"%>
<%var alternating = true;%>
<table>
<% foreach (var item in ViewData.Model as IEnumerable<image>) %>
<%{%>
<%if (alternating) %>
<%{ %>
<tr>
<%}; %>
<td>
<a href="<%= item.image_path %>" target="_blank" >
<img src="<%= item.image_path %>" alt=" " width="100" />
</a>
</td>
<%if (!alternating) %>
<%{ %>
</tr>
<%}; %>
<%alternating = !alternating;%>
<%}%>
</table>
我建议采用可读性驱动的方法。除了这些其他解决方案之外,您还可以使用list并在LI标记中显示每个项目,以便更好地遵守关注点分离规则。一些基于标准的CSS和少量jQuery可以使代码保持较小且易于阅读:
<ul>
<% foreach (var item in ViewData.Model as IEnumerable<image>) { %>
<li>
<a href="<%= item.urlPath %>">
<img src="<%= item.imagePath %>" alt="" /></li>
<% } %>
</ul>
现在您已经获得了原始输出和结构化处理,一点jQuery就可以满足您的其他显示需求。这将为您提供两个垂直列:
<script type="text/javascript">
$(function() {
$("li:odd").css("background-color", "#F00");
});
</script>
$(函数(){
$(“li:odd”).css(“背景色”,“#F00”);
});
稍微不同的jQuery选择器可以在交替的水平行上绘制颜色。我建议采用可读性驱动的方法。除了这些其他解决方案之外,您还可以使用list并在LI标记中显示每个项目,以便更好地遵守关注点分离规则。一些基于标准的CSS和少量jQuery可以使代码保持较小且易于阅读:
<ul>
<% foreach (var item in ViewData.Model as IEnumerable<image>) { %>
<li>
<a href="<%= item.urlPath %>">
<img src="<%= item.imagePath %>" alt="" /></li>
<% } %>
</ul>
现在您已经获得了原始输出和结构化处理,一点jQuery就可以满足您的其他显示需求。这将为您提供两个垂直列:
<script type="text/javascript">
$(function() {
$("li:odd").css("background-color", "#F00");
});
</script>
$(函数(){
$(“li:odd”).css(“背景色”,“#F00”);
});
稍微不同的jQuery选择器可以在交替的水平行上绘制颜色。它生成了什么HTML?从这里,您可以确定这是浏览器问题还是HTML生成问题。它生成的是什么HTML?从这里,您可以确定这是一个浏览器问题还是HTML生成问题。太好了,谢谢,这很有效。我也会根据你的建议清理代码。太好了-谢谢-这很有效。我也会根据你的建议整理代码。