简单属性 Customer:<%# custID %> 

集合 Orders:<asp:ListBox id="List1" datasource='<%# myArray %>' runat="server"> 

表达式 Contact:<%# ( customer.First Name + " " + customer.LastName ) %> 

方法结果 Outstanding Balance:<%# GetBalance(custID) %> 


程序代码: [ 复制代码到剪贴板 ]

<html>
<head>
    <script language="C#" runat="server">

        void Page_Load(Object sender, EventArgs e) {
            Page.DataBind();
        }
        
        string custID{
            get {
                return "ALFKI";
            }
        }
        
        int orderCount{
            get {
                return 11;
            }
        }


    </script>

</head>
<body>

    <h3><font face="Verdana">DataBinding to a Property on the Page</font></h3>

    <form runat=server>
    
        Customer: <b><%# custID %></b><br>
        Open Orders: <b><%# orderCount %></b>

    </form>

</body>
</html>





程序代码: [ 复制代码到剪贴板 ]
<html>
<head>
    <script language="C#" runat="server">

        void SubmitBtn_Click(Object sender, EventArgs e) {
        
          // Rather than explictly pull out the variable from the "StateList"
          // and then manipulate a label control, just call "Page.DataBind".
          // This will evaluate any <%# %> expressions within the page
          
          Page.DataBind();
        }

    </script>

</head>
<body>

    <h3><font face="Verdana">DataBinding to a property of another server control</font></h3>

    <form runat=server>

        <asp:DropDownList id="StateList" runat="server">
          <asp:ListItem>CA</asp:ListItem>
          <asp:ListItem>IN</asp:ListItem>
          <asp:ListItem>KS</asp:ListItem>
          <asp:ListItem>MD</asp:ListItem>
          <asp:ListItem>MI</asp:ListItem>
          <asp:ListItem>OR</asp:ListItem>
          <asp:ListItem>TN</asp:ListItem>
          <asp:ListItem>UT</asp:ListItem>
        </asp:DropDownList>
        
        <asp:button Text="Submit" OnClick="SubmitBtn_Click" runat=server/>
        
        <p>
        
        Selected State: <asp:label text='<%# StateList.SelectedItem.Text %>' runat=server/>
        
    </form>

</body>
</html>



程序代码: [ 复制代码到剪贴板 ]
<html>
<head>

    <script language="C#" runat="server">

        void Page_Load(Object Sender, EventArgs E) {

            if (!Page.IsPostBack) {

               ArrayList values = new ArrayList();

               values.Add ("IN");
               values.Add ("KS");
               values.Add ("MD");
               values.Add ("MI");
               values.Add ("OR");
               values.Add ("TN");

               DropDown1.DataSource = values;
               DropDown1.DataBind();
            }
        }

        void SubmitBtn_Click(Object sender, EventArgs e) {
           Label1.Text = "You chose: " + DropDown1.SelectedItem.Text;
        }

    </script>

</head>
<body>

    <h3><font face="Verdana">DataBinding DropDownList</font></h3>

    <form runat=server>
    
        <asp:DropDownList id="DropDown1" runat="server" />

        <asp:button Text="Submit" OnClick="SubmitBtn_Click" runat=server/>

        <p>
        
        <asp:Label id=Label1 font-name="Verdana" font-size="10pt" runat="server" />

    </form>

</body>
</html>



程序代码: [ 复制代码到剪贴板 ]
<%@ Import namespace="System.Data" %>

<html>
<head>

    <script language="C#" runat="server">

        void Page_Load(Object sender, EventArgs e ) {
        
            if (!Page.IsPostBack) {
            
                DataTable dt = new DataTable();
                DataRow dr;

                dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
                dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
                dt.Columns.Add(new DataColumn("DateTimeValue", typeof(DateTime)));
                dt.Columns.Add(new DataColumn("BooleanValue", typeof(bool)));

                for (int i = 1; i <= 9; i++) {
                
                    dr = dt.NewRow();

                    dr[0] = i;
                    dr[1] = "Item " + i.ToString();
                    dr[2] = DateTime.Now;
                    dr[3] = (i % 2 != 0) ? true : false;

                    dt.Rows.Add(dr);
                }
           
                dataGrid1.DataSource = new DataView(dt);
                dataGrid1.DataBind();
            }
        }

    </script>

</head>
<body>

    <h3><font face="Verdana">Databinding to a DataView</font></h3>

    <form runat=server>

        <asp:DataGrid id="dataGrid1" runat="server"
          BorderColor="black"
          BorderWidth="1"
          GridLines="Both"
          CellPadding="3"
          CellSpacing="0"
          HeaderStyle-BackColor="#aaaadd"
        />

    </form>

</body>
</html>




程序代码: [ 复制代码到剪贴板 ]
<html>
<head>

    <script language="C#" runat="server">

        void Page_Load(Object sender, EventArgs e) {
            if (!Page.IsPostBack) {

                Hashtable h = new Hashtable();
                h.Add ("key1", "value1");
                h.Add ("key2", "value2");
                h.Add ("key3", "value3");

                MyDataList.DataSource = h;
                MyDataList.DataBind();
            }
        }

    </script>

</head>
<body>

    <h3><font face="Verdana">DataBinding to a Hashtable</font></h3>

    <form runat=server>

        <asp:DataList id="MyDataList" runat="server"
          BorderColor="black"
          BorderWidth="1"
          GridLines="Both"
          CellPadding="4"
          CellSpacing="0"
          >

            <ItemTemplate>
                <%# ((DictionaryEntry)Container.DataItem).Key %> :
                <%# ((DictionaryEntry)Container.DataItem).Value %>
            </ItemTemplate>

        </asp:DataList>

    </form>

</body>
</html>





程序代码: [ 复制代码到剪贴板 ]
<html>
<head>

    <script language="C#" runat="server">

        void Page_Load(Object Src, EventArgs E) {

            if (!Page.IsPostBack) {

               ArrayList values = new ArrayList();

               values.Add (0);
               values.Add (1);
               values.Add (2);
               values.Add (3);
               values.Add (4);
               values.Add (5);
               values.Add (6);

               DataList1.DataSource = values;
               DataList1.DataBind();
            }
        }

        String EvenOrOdd(int number) {
            if ((number % 2) == 0)
              return "Even";
            else
              return "Odd";
        }

    </script>

</head>
<body>

    <h3><font face="Verdana">Databinding to Methods and Expressions</font></h3>

    <form runat=server>

      <asp:DataList id="DataList1" runat="server"
        BorderColor="black"
        BorderWidth="1"
        GridLines="Both"
        CellPadding="3"
        CellSpacing="0"
        >

        <ItemTemplate>
          Number Value: <%# Container.DataItem %>
          Even/Odd: <%# EvenOrOdd((int) Container.DataItem) %>
        </ItemTemplate>

      </asp:datalist>

    </form>

</body>
</html>





程序代码: [ 复制代码到剪贴板 ]
<%@ Import namespace="System.Data" %>

<html>
<head>

    <script language="C#" runat="server">

        void Page_Load(Object sender, EventArgs e) {

            if (!Page.IsPostBack) {

                DataTable dt = new DataTable();
                DataRow dr;

                dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
                dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
                dt.Columns.Add(new DataColumn("DateTimeValue", typeof(DateTime)));
                dt.Columns.Add(new DataColumn("BoolValue", typeof(bool)));

                for (int i = 0; i < 9; i++) {

                    dr = dt.NewRow();

                    dr[0] = i;
                    dr[1] = "Item " + i.ToString();
                    dr[2] = DateTime.Now;
                    dr[3] = (i % 2 != 0) ? true : false;

                    dt.Rows.Add(dr);
                }

                dataList1.DataSource = new DataView(dt);
                dataList1.DataBind();
            }
        }

    </script>

</head>
<body>

    <h3><font face="Verdana">Databinding Using DataBinder.Eval</font></h3>

    <form runat=server>

        <asp:DataList id="dataList1" runat="server"
          RepeatColumns="3"
          Width="80%"
          BorderColor="black"
          BorderWidth="1"
          GridLines="Both"
          CellPadding="4"
          CellSpacing="0"
          >

            <ItemTemplate>

                Order Date: <%# DataBinder.Eval(Container.DataItem, "DateTimeValue", "{0:d}") %>

                <p>

                Quantity: <%# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:N2}") %>

                <p>

                Item: <%# DataBinder.Eval(Container.DataItem, "StringValue") %>

                Order Date: <asp:CheckBox id=chk1 Checked='<%# (bool)DataBinder.Eval(Container.DataItem, "BoolValue") %>' runat=server/>

                <p>

            </ItemTemplate>

        </asp:Datalist>

    </form>

</body>
</html>



ASP.NET 声明性数据绑定语法使用 <%# %> 表示法。 
可以绑定到数据源、页或其他控件的属性、集合、表达式以及从方法调用返回的结果。 
列表控件可以绑定到支持 ICollection、IEnumerable 或 IListSource 接口的集合,如 ArrayList、Hashtable、DataView 和 DataReader。 
DataBinder.Eval 是用于晚期绑定的静态方法。它的语法可能比标准数据绑定语法简单,但性能较低。