Pular para o conteúdo

Dados de uma consulta Linq no repeater

Responder tópico
  • Denunciar
  • Indicar

1. Dados de uma consulta Linq no repeater

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


<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>
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...
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));

Responder tópico

2. Eval

Enviado em 12/02/2015 - 20:04h

Essa foi a única situação em qual o "Eval" não funcionou? Já tentou em outras situações?
Nunca usei desta maneira apenas com DataTables e List e deu tudo certo...
Qual o erro exato que apresenta?

3. Resolvido!

Enviado em 13/02/2015 - 11:32h

Olá,
Resolvi o problema atualizando o mono para a versão 5, realmente era um bug da versão 4.

Grato.

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder