ASP.Net/Data Binding/Binding expression

Материал из .Net Framework эксперт
Версия от 11:52, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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();
    }
}