Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > условие в Repeater


Автор: chudak 9.7.2008, 00:39
Здравствуйте!!!
у меня такая проблема:
мне нужно вывести содержимое репитера с условием в каждой строке.
условие заключается в том будетли отображаться на этой страке ссылка или нет!!!
можно ли воопервых так делать???

я делаю так:

Код

 <asp:Repeater ID="Repeater1" runat="server">

                <ItemTemplate>
                <table border="1" ><tr><td>
                   <%#DataBinder.Eval(Container.DataItem, "user_name")%> || <% if(int.Parse(DataBinder.Eval(Container.DataItem, "id_user")) == Session["user_id"])
{%><a href="news.aspx?move=del_comment&id_comment=<%#DataBinder.Eval(Container.DataItem, "id") %>">dell</a><%} %>
                                          </td></tr></table><br />
                </ItemTemplate>

                </asp:Repeater>


проблема вот с этим условием:

Код

if(int.ParseDataBinder.Eval(Container.DataItem, "id_user")) == Session["user_id"])
{


как сделать правильно чтоб всё работало???

как в контенере, так и в сессии целочисленные типы!!!

заранее спасибо!!!

Автор: PashaPash 9.7.2008, 09:12
chudak, ежики плакали, кололись, но продолжали применять <%.
Поставь вместо "<% if..." "<asp:PlaceHolder Visible=<%#...". Или сразу <asp:HyperLink вместо всей конструкции. Поставь "~/" в начала url в asp:HyperLink. Используй String.Format. Вынеси работу с сессией в code behind. Используй .Equals или явное приведение вместо парсинга. Юзай просто Eval вместо DataBinder.Eval...

Автор: Bogdan1024 9.7.2008, 10:21
Обработай всё что тебе надо в RepeaterItemCreated (или как там оно называется).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)