ASP.Net/Data Binding/Binding expression

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

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>