ASP.Net/Data Binding/Binding expression
Binding to a Method
<%@ 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">
<div>
<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>
<b>
<%# Eval("ProductID") %> - <%# Eval("Name") %>
</b>
<hr />
<small>
<i>
Product Number: <%# Eval("ProductNumber") %><br />
Days to manufacture:<%# Eval("DaysToManufacture") %> <br />
Start Date: <%# Eval("SellStartDate", "{0:MM/dd/yy}") %><br />
</i>
<br/><br/>
<img src="Images/<%# GetImageName(Container.DataItem) %>" />
Reorder Point:<%# Eval("ReorderPoint") %>
</small>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</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>
Data binding expression
<%@ 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">
<h2>Today is
<asp:Label ID="Today" runat="server" Text="<%# DateTime.Now %>" />
</h2>
</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();
}
}