ASP.Net/Data Binding/Binding expression
Binding to a Method
<source lang="csharp">
<%@ Page Language="C#" %> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">
<title>Binding to a Method</title> <script runat="Server"> protected string GetImageName(object dataItem) { int reorderPoint = Int32.Parse(DataBinder.Eval(dataItem, "ReorderPoint").ToString()); if (reorderPoint < 100 ) return "LessThan100.bmp"; else return "MoreThan100.bmp"; } </script>
</head> <body>
<form id="form1" runat="server">
<asp:SqlDataSource ID="productsSource" runat="server" ProviderName="System.Data.SqlClient" ConnectionString="<%$ ConnectionStrings:AdventureWorks %>" SelectCommand="Select ProductID, Name, ProductNumber, DaysToManufacture, SellStartDate, ReorderPoint from Production.Product"> </asp:SqlDataSource> <asp:GridView ID="gridProducts" runat="server" DataSourceID="productsSource" AutoGenerateColumns="False"> <Columns> <asp:TemplateField HeaderText="Products"> <ItemTemplate> <%# Eval("ProductID") %> - <%# Eval("Name") %>
Product Number: <%# Eval("ProductNumber") %>
Days to manufacture:<%# Eval("DaysToManufacture") %>
Start Date: <%# Eval("SellStartDate", "{0:MM/dd/yy}") %>
<img src="Images/<%# GetImageName(Container.DataItem) %>" /> Reorder Point:<%# Eval("ReorderPoint") %> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>
</form>
</body> </html> File: Web.config <configuration>
<appSettings/> <connectionStrings> <add name="AdventureWorks" connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=AdventureWorks;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings> <system.web> <compilation debug="true" strict="false" explicit="true"> <codeSubDirectories> <add directoryName="VB"></add> <add directoryName="CS"></add> </codeSubDirectories> </compilation> <pages> <namespaces> <clear/> <add namespace="System"/> <add namespace="System.Collections"/> <add namespace="System.Collections.Specialized"/> <add namespace="System.Configuration"/> <add namespace="System.Text"/> <add namespace="System.Text.RegularExpressions"/> <add namespace="System.Web"/> <add namespace="System.Web.Caching"/> <add namespace="System.Web.SessionState"/> <add namespace="System.Web.Security"/> <add namespace="System.Web.Profile"/> <add namespace="System.Web.UI"/> <add namespace="System.Web.UI.WebControls"/> <add namespace="System.Web.UI.WebControls.WebParts"/> <add namespace="System.Web.UI.HtmlControls"/> </namespaces> </pages> <authentication mode="Windows"></authentication> <identity impersonate="true"/> </system.web>
</configuration>
</source>
Data binding expression
<source lang="csharp">
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" Debug="true" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">
<title>Data-bound Expressions</title>
</head> <body>
<form id="form1" runat="server">
Today is <asp:Label ID="Today" runat="server" Text="<%# DateTime.Now %>" />
</form>
</body> </html> File: Default.aspx.cs using System; using System.Web.UI; using System.Web.UI.WebControls; using System.Text; public partial class Default : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) { DataBind(); }
}
</source>