2010-02-18 108 views
0

我需要的是在我的视图中的各种链接中显示Area_Name。我可以将Area_Name分配给一个变量,然后在视图中的每个链接中显示该变量,而不是每次重复相同的循环?在视图中显示ViewData

的ViewData

filterContext.Controller.ViewData["Categories"] = from m in _dataContext.Categories where m.Area_ID == SectionID select m; 

查看页面

样式

<% 
foreach (var c in (IEnumerable<Categories>)ViewData["Categories"]) { %> 
    <link href="../../Content/<%= c.Area_Name %>/Site.css" rel="stylesheet" type="text/css" /> 
<% } %> 

图片

<% 
foreach (var c in (IEnumerable<Categories>)ViewData["Categories"]) { %> 
<img src="../../Content/images/<%= c.Area_Name %>/slide1.jpg" /> 
<img src="../../Content/images/<%= c.Area_Name %>/slide2.jpg" /> 
<img src="../../Content/images/<%= c.Area_Name %>/slide3.jpg" /> 
<% } %> 

回答

0

或许与属性创建强类型的ViewData文件的每个AREANAME你带来了。这样做的缺点是,当你添加一个新的类别时,viewData类和视图将不会像你当前的代码一样选择这些更改。

0

使用第二个for-each或for for-loop?

像这样:

<% foreach (var c in (IEnumerable<Categories>)ViewData["Categories"]) { 
    for (int i = 0 ; i < 100; i ++) 
    { 
     %> 
     <img src="../../Content/images/<%= c.Area_Name %>/slide<%= i %>.jpg" /> 
     <% 
    } 
<% } %> 

很难确切地知道你的意思,但..

+0

对不起,我希望这是有道理的。我需要的是在我的视图中的各种链接中显示Area_Name。每次我都可以将Area_Name分配给一个变量,然后在每个链接中显示该变量,而不是每次重复相同的循环? – Jemes 2010-02-18 15:28:07

+0

@Jemes它已经是一个变量,不是吗? – 2010-02-18 15:43:06