#
указывает код, который должен быть выполнен, когда привязка данных происходит (т.е. когда DataBind()
вызывается для элемента управления или страницы). Синтаксис <%# %>
является эквивалентом привязки данных <%= %>
, поэтому, к сожалению, вы не можете просто обернуть свой цикл в блоки <%# %>
и покончить с этим.
Вы можете обойти это ограничение, внедрив метод code-behind и передав рейтинг методу:
<%# GetStars(Convert.ToInt32(DataBinder.Eval(Container.DataItem, "Rating"))) %>
А затем реализовать метод как:
protected string GetStars(int rating)
{
string output = string.Empty;
for (int j = 1; j <= rating; j++) output += "<img src=\"App_Pics/fullstar.png\" />";
for (int j = 1; j <= 5 - rating; j++) output += "<img src=\"App_Pics/emptystar.png\" />";
return output;
}