首先,谢谢你对我们明日科技的支持!
1.简单数据绑定
ASP.NET 1.x 时代,其数据绑定方法,形如:<%# DataBinder.Eval(Container.DataItem, "Price") %>
ASP.NET 2.0 时代其绑定方法,形如<%# Eval("Price") %>、<%# XPath("Price") %>
在ASP.NET 我们在使用Repeater ,DetailsView ,FormView ,GridView 等数据绑定模板时,都会使用
<%# Eval(" 字段名") %> 或<%# Bind(" 字段名") %> 这样的语法来单向或双向绑定数据。
2.asp.net 单值绑定 〈%#...%〉
(1)<%= XXX %> 内联引用方式本 可以引用C#代码
(2)<%# XXX %> 可以引用.CS代码中的字段 前提在初始化相应字段后,在Page_Load页面上使用
Page.DataBind()
在这个方法中,强调一点就是Page.DataBind()。为了计算这样的<%# XXX %>的数据绑定表达式,必须在代码中调用Page.DataBind()方法。调用DataBind()时,ASP。NET检查页面上的所有表达式并用适当的值替换它们,如果忘记了调用DataBind() 方法,数据绑定表达式不会被填入值----相反,它们在页面
上呈现为HTML时被丢弃,总之记住一点,在使用代码绑定技术“<%......%>”时一定要记住调用
Page.DataBind()方法。
(3)<%#$ XXX %> 可以引用webConfig.xml中预定义的字段或者已注册的类的表达式
(4)<%#Eval(XXX) %> 类似于JAVASCRIPT方式 数据源也需要绑定
先给出aspx代码:
<%...@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs"
Inherits="webTest._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<%...# aaa + "1" %>
<br />
<%= DateTime.Now %>
</div>
<asp:TextBox ID="box_a" runat="server" Text="<%$ Code: DateTime.Now %>" />
<br />
<div>
</div>
<asp:TextBox ID="bindTest" runat="server" Text="<%$ AppSettings:test %>"/>
<br />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
<HeaderTemplate >
自定义的姓名列
</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="txbName" runat="server" Text='<%#Eval("Name") %>'></asp:TextBox>
<br />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate >
<asp:Label ID="lblSex" runat="server" Text=" 自定义的性别列" ></asp:Label>
</HeaderTemplate>
<ItemTemplate>
<%...#Eval("Sex") %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</form>
</body>
</html>
以下是.cs代码
namespace webTest
...{
public partial class _Default : System.Web.UI.Page
...{
//用于显示的字段
public string aaa = "后台的变量";
protected void Page_Load(object sender, EventArgs e)
...{
ini_table();
Page.DataBind();
}
void ini_table()
...{
DataTable dt = new DataTable();
//用于显示的Name列
dt.Columns.Add("Name");
dt.Columns.Add("sex");
DataRow dr = dt.NewRow();
dr[0] = "aaa";
dr[1] = "男";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "bbb";
dr[1] = "男";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "ccc";
dr[1] = "女";
dt.Rows.Add(dr);
//数据源绑定
this.GridView1.DataSource = dt.DefaultView;
this.GridView1.DataBind();
}
}
[font color=#FF0000]注:我们公司最近新出的图书《ASP.NET编程宝典》,书中有讲到各方面的知识,包括最新的一些技术,如AJAX\LINQ等等,希望对您有所帮助。谢谢关注![/font]