Enviado em 10/02/2015 - 16:32h
Olá;
Já usei o VS por longos anos, e agora preciso finalizar um projeto no Mono... então no VS eu sempre usei repeaters pegando dados de uma consulta linq... como no codigo abaixo...
Existe alguma saída pra pegar os dados do linq para um repeater de outra forma ou existe uma maneira de usa-lo assim?
meu código linq:
Já usei o VS por longos anos, e agora preciso finalizar um projeto no Mono... então no VS eu sempre usei repeaters pegando dados de uma consulta linq... como no codigo abaixo...
mas no mono eu não consigo usar o código Text='<%# Eval("CURTIR") %>' ou qualquer código com o "eval" que é o que eu uso normalmente pra pegar dados das consultas ling...
<asp:Repeater runat="server" ID="rpTeia">
<ItemTemplate>
<div class="teiaRowStyle" style='<%# Eval("STYLE") %>'>
<asp:HyperLink ID="HyperLink3" runat="server" Text='<%# Eval("USUARIO") %>' ToolTip="Ver perfil do Usuário" NavigateUrl='<%# Eval("PERFIL") %>'/>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("ACAO") %>'></asp:Label>
<div align="left" style="margin-top:10px;">
<div id="divMensagem" style="margin-bottom:5px;">
<asp:Label ID="Label3" runat="server" Text='<%# Eval("MENSAGEM") %>' ForeColor="ForestGreen" Font-Bold="true"></asp:Label>
</div>
<asp:HyperLink ID="HyperLink1" runat="server" Text="Comentar" ImageUrl="~/img/comment.png" ImageWidth="30px" ToolTip="Comentar Ação" NavigateUrl="#" Visible='<%# Eval("VCOMENT") %>'></asp:HyperLink>
<asp:LinkButton ID="lkbCurtir" runat="server" CommandArgument='<%# Eval("ID") %>' OnCommand="lkbCurtir_Command" Visible='<%# Eval("VLIKE") %>' ToolTip="Curtir"><img src="img/like1.png" width="25px" /></asp:LinkButton>
<%--<asp:ImageButton ID="imgbCurtir" runat="server" ToolTip="Curtir" ImageUrl="~/img/like1.png" Width="25px" CommandArgument='<%# Eval("ID") %>' Visible='<%# Eval("VLIKE") %>' />--%>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("VISIB") %>' ForeColor="GrayText"></asp:Label>
<asp:Label ID="Label4" runat="server" Text='<%# Eval("CURTIR") %>' ForeColor="Gray"></asp:Label>
</div>
</div>
<br />
</ItemTemplate>
</asp:Repeater>
Existe alguma saída pra pegar os dados do linq para um repeater de outra forma ou existe uma maneira de usa-lo assim?
meu código linq:
var teia = (from p in bd.db._Logs
where p.postTipoID == 2 && p._LogAcao.id == 13
&& p.visibilidadeID == 1
select new
{
ID = p.id,
USUARIO = p._user.nome,
PERFIL = "~/perfil/?user=" + p._user.id,
DATA = p.dataHora,
VISIB = "Visibilidade: " + p._LogVisibilidade.descricao,
CURTIR = ((from c in bd.db._LogCurtirs where c.logID == p.id && c.userID == usuarioLogado.id select p).ToList().Count() != 0) ? " | " + (from c in bd.db._LogCurtirs where c.logID == p.id && c.userID == usuarioLogado.id select p).ToList().Count() + " curtiram" : "",
MENSAGEM = (p.acaoID == 13) ? p.mensagem : (p.acaoID == 17) ? (from c in bd.db._LogCurtirs where c.logID == p.postReferenteID select c._Log.mensagem).Single() : "Mensagem Bloqueada",
ACAO = (p.acaoID == 13) ? " " + p._LogAcao.menssagem + " no dia "
+ p.dataHora.Value.Day + " do " + p.dataHora.Value.Month
+ " de " + p.dataHora.Value.Year + " ás "
+ p.dataHora.Value.Hour + ":"
+ p.dataHora.Value.Minute + ":"
+ p.dataHora.Value.Second :
(p.acaoID == 17) ? " " + p._LogAcao.menssagem + " de " +
(from c in bd.db._LogCurtirs where c.logID == p.postReferenteID select c._Log._user.nome).Single()
+ " em " + p.dataHora.Value.Day + " do " + p.dataHora.Value.Month
+ " de " + p.dataHora.Value.Year + " ás "
+ p.dataHora.Value.Hour + ":"
+ p.dataHora.Value.Minute + ":"
+ p.dataHora.Value.Second
: "Post Bloqueado!",
VLIKE = (p.usuarioID == usuarioLogado.id) ? false : (p.acaoID == 13) ? true : (p.acaoID == 17) ? false : false,
VCOMENT = (p.acaoID == 13) ? true : (p.acaoID == 17) ? false : false,
STYLE = (p.id == postFist) ? "background-color:#C1FFC1;" : ""
}).OrderByDescending(l => (l.ID == postFist ? int.MaxValue : l.ID));