Qual é a utilização de Eval() em asp.net

para que serve Eval() em ASP.NET?

 26
Author: Craig, 2009-11-25

3 answers

Eval é usado para se ligar a um item UI que é configurado para ser apenas de Leitura (por exemplo: uma etiqueta ou um campo de texto apenas de leitura), ou seja, Eval é usado para uma forma de ligação-para ler de uma base de dados para um campo UI.

É geralmente utilizado para dados de ligação tardia (não conhecidos desde o início) e normalmente ligado à parte mais pequena do controlo de ligação de dados que contém um registo completo. O método Eval pega o nome de um campo de dados e retorna uma string contendo o valor desse campo do registro atual na fonte de dados. Você pode fornecer um segundo parâmetro opcional para especificar um formato para a string devolvida. O parâmetro do formato string usa a sintaxe definida para o método de formato da classe String.

 28
Author: bastijn, 2009-11-24 22:22:36

Ao ligar um controlo de base de dados, pode avaliar um campo da linha na sua fonte de dados com a função eval ().

Por exemplo, pode adicionar uma coluna à sua grelha, assim:

<asp:BoundField DataField="YourFieldName" />

E, em alternativa, este é o caminho para eval:

<asp:TemplateField>
<ItemTemplate>
        <asp:Label ID="lbl" runat="server" Text='<%# Eval("YourFieldName") %>'>
        </asp:Label>
</ItemTemplate>
</asp:TemplateField>

Parece um pouco complexo, mas é flexível, porque você pode definir qualquer propriedade do controle com a função eval ():

<asp:TemplateField>
    <ItemTemplate>
        <asp:HyperLink ID="HyperLink1" runat="server" 
          NavigateUrl='<%# "ShowDetails.aspx?id="+Eval("Id") %>' 
          Text='<%# Eval("Text", "{0}") %>'></asp:HyperLink>
    </ItemTemplate>
</asp:TemplateField>
 31
Author: Canavar, 2009-11-24 22:22:48
A IrishChieftain não abordou a questão, por isso, eis a minha opinião:

Eval () é suposto ser usado para dados que não são conhecidos em tempo de execução. Seja a entrada do utilizador (perigosa) ou outras fontes.

 -2
Author: dhorn, 2009-11-24 22:20:12