2010-02-18 2 views
0

Мне нужно отображать Area_Name в разных ссылках в моем представлении. Вместо того, чтобы повторять один и тот же цикл ниже каждого раза, могу ли я присвоить Area_Name переменной, а затем отобразить эту переменную в каждой ссылке в моем представлении?Отображение ViewData в представлении

ViewData

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

View Page

стилевых

<% 
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

Использовать вторую для каждого или для петли?

Как это:

<% 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

+0

@Jemes Это уже переменная, не так ли? –

Смежные вопросы