Отображение ViewData в представлении - PullRequest
0 голосов
/ 18 февраля 2010

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

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" />
<% } %>

Ответы [ 2 ]

0 голосов
/ 18 февраля 2010

возможно создайте строго типизированный файл viewData со свойством для каждого имеющегося у вас AreaName. Недостатком этого является то, что при добавлении новой категории класс viewData и представление не будут воспринимать эти изменения так же, как это делается с вашим текущим кодом.

0 голосов
/ 18 февраля 2010

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

Примерно так:

<% 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" />
        <%
    }
<% } %>

Трудно точно понять, что вы имеете в виду ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...