ASP.NET Tutorial/Data Binding/Expressions

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

Binding Expression

   <source lang="csharp">

<%@Page debug="true"%> <script language="C#" runat="server" > DateTime theTime; protected void Page_Load(object o, EventArgs e) {

   theTime = DateTime.Now;
   Page.DataBind();

} </script> The time is: <%# theTime %>
</source>


Databind the result of a method call

   <source lang="csharp">

<script runat="server" language="C#"> protected void Page_Load(object o, EventArgs e) {

   if(IsPostBack) {
       Page.DataBind();
   }

} protected double CalculateFactorial(int input) {

   double result = 1;
   for(;input > 0; input--) {
       result *= input;
   }
   return result;

} </script> <form runat="server"> Databind the result of a method call. <asp:Textbox runat="server" id="theInput" />
<asp:RequiredFieldValidator

   runat="server"
   ControlToValidate="theInput"
   ErrorMessage="input is required" />

<asp:RangeValidator

   runat="server"
   ControlToValidate="theInput"
   ErrorMessage="input must be >= 0 and < 20"
   Type="integer"
   MinimumValue="0"
   MaximumValue="20" />

<asp:Button

   runat="server" 
   type="submit" 
   Text="Calculate Factorial" />

The result is: <%# CalculateFactorial(Int32.Parse(theInput.Text)).ToString() %> </form></source>


DataList with data binding expression

   <source lang="csharp">

<%@ Page Language="C#" %> <!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>Extracting Rows From Templates</title>

</head> <body>

   <form id="form1" runat="server">
       <asp:SqlDataSource ID="SqlDataSource1" runat="server"
           ConnectionString="<%$ ConnectionStrings:NorthWind %>"
           SelectCommand="SELECT TOP 10 * FROM customers">
       </asp:SqlDataSource>
       
       <asp:DataList ID="list" runat="server" DataSourceID="SqlDataSource1" 
           ExtractTemplateRows="true" RepeatColumns="3" BorderStyle="Solid" BorderWidth="1px">
         <alternatingitemstyle backcolor="PaleGoldenrod" />
         <headerstyle backcolor="Brown" forecolor="White" font-size="Larger" 
           font-bold="True" horizontalalign="Center" />
         <HeaderTemplate>
         <asp:table ID="Table1" runat="server">
           <asp:tablerow ID="Tablerow1" runat="server">
             <asp:tablecell ID="Tablecell1" runat="server">Customer</asp:TableCell>
             <asp:tablecell ID="Tablecell2" runat="server">Contact</asp:TableCell>
           </asp:tablerow>
         </asp:table>
         </HeaderTemplate>
         <ItemTemplate>
         <asp:table ID="Table2" runat="server">
           <asp:tablerow ID="Tablerow2" runat="server" font-bold="true">
             <asp:tablecell ID="Tablecell3" runat="server">
               <%# Eval("CustomerID") %>
             </asp:tablecell>
             <asp:tablecell ID="Tablecell4" runat="server">
               <%# Eval("ContactName") %>
             </asp:tablecell>
           </asp:tablerow>
           <asp:tablerow ID="Tablerow3" runat="server">
             <asp:tablecell ID="Tablecell5" runat="server" columnspan="2">
               <%# Eval("Address") + " - " + 
                   Eval("City")   %>
             </asp:tablecell>
           </asp:tablerow>
         </asp:table>
         </ItemTemplate>
       </asp:datalist>    
   </form>

</body> </html></source>


Put simple data binding expressions

   <source lang="csharp">

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"

   Inherits="Default"%>

<%@ Import Namespace="System.Drawing" %> <!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>Simple Data Binding</title>

</head> <body>

       <form id="form1" runat="server">
           <asp:DropDownList ID="SelColors" runat="server" AutoPostBack="True">
               <asp:ListItem>Orange</asp:ListItem>
               <asp:ListItem>Green</asp:ListItem>
               <asp:ListItem>Cyan</asp:ListItem>
               <asp:ListItem>Red</asp:ListItem>
               <asp:ListItem>Blue</asp:ListItem>
           </asp:DropDownList>
           <asp:Label runat="server" ID="lblColor" EnableTheming="false"
               ForeColor="<%# Color.FromName(SelColors.SelectedValue) %>"
               Text="<%# "You selected: " + SelColors.SelectedValue %>"  /> 
           <asp:Label runat="server" ID="Label4" Text="<%# "on " + DateTime.Now %>" /> 

       </form>

</body> </html> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Data.SqlClient; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Drawing;

public partial class Default : System.Web.UI.Page {

   void Page_Load(object sender, EventArgs e)
   {
       DataBind();
   }

}</source>