为什么在Eval函数中写入值

时间:2015-06-28 18:40:04

标签: c# asp.net eval

如果我们只写'#34;价值"在Eval()函数中,如Eval(" Value")是什么意思? 我的意思是那里没有名称Value to Bind的项目所以为什么我们使用" Value"。 注意我使用C#在ASP.Net中工作。 | Visual Studio 2012

HTML:



<asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
    <Columns>
        <asp:BoundField DataField="Text" HeaderText="File Name" />
        <asp:TemplateField HeaderText="Download">
            <ItemTemplate>
                <asp:LinkButton  CommandArgument='<%# Eval("Value") %>' ID="LinkButton1" runat="server" CausesValidation="false" OnClick="LinkButton1_Click" Text="Download"></asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
&#13;
&#13;
&#13;

代码背后:

protected void Page_Load(object sender, EventArgs e)
{
    string[] filePaths = Directory.GetFiles(Server.MapPath("~/Images/"));
    List<ListItem> files = new List<ListItem>();
    foreach (string filePath in filePaths)
    {
        files.Add(new ListItem(Path.GetFileName(filePath), filePath));
    }
    GridView1.DataSource = files;
    GridView1.DataBind();
}

1 个答案:

答案 0 :(得分:0)

这意味着您将获得名为&#34; Value&#34;的属性的值。来自被绑定的对象。在您的情况下,您绑定了ListItem个对象的列表。 https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listitem.value(v=vs.110).aspx