数据库访问ADO。NET之:数据绑定(DataBind)技术
DataBind是一种全新的技术,通过它可以将程序中的执行数据与页面中属性、集合、表达式及函数结果“绑定”(binding)在一起。换句话说,只要程序中的相应数据发生变化,那么这些与数据“绑定”在一起的属性、集合、表达式及函数结果的值就会随之改变。
用法:绑定属性:<%Property%>绑定集合:<asp:DataGrid id="dg" DataSource="<%#MyDataView%>" runat="server"/>绑定表达式:<%#Container.DataItem%>绑定函数结果:<%#GetForm(user)%><%%>与<%#%>的区别:<%%>之间的代码将会直接执行,而<%#%>之间包含的代码,仅仅在DataBind()方法调用后,才会被执行。Page以及所有Server控件都拥有DataBind方法。对于集合控件来说,只要父控件被绑定,则子控件或项目也会被绑定。
示例: 绑定公共属性:代码片段中:public string user = "厉害";
protected void Page_Load(object sender, EventArgs e)
{
Page.DataBind();
}源文件中:<body>
<form id="form1" runat="server">
<div>
User的值是:<%#user %>
</div>
</form>
</body>2.示例: 绑定控件属性代码片段:protected void Page_Load(object sender, EventArgs e)
{
Page.DataBind();
}源文件中:<form id="form1" runat="server">
<div>
输入: <asp:TextBox ID="td" runat="server"></asp:TextBox><br />
你输入文本框的值为:<%#td.Text %>
</div>
</form>这里用<%=user%>也是可以做到的,这里演示通过Binding取得公共变量和控件属性的值只是让你了解DataBind的基本用法。3.示例: 数组集合绑定到DropdownList控件protected void Page_Load(object sender, EventArgs e)
{
ArrayList ddlArray = new ArrayList();
ddlArray.Add("劳动");
ddlArray.Add("体育");
ddlArray.Add("家庭");
ddlArray.Add("活动");
ddlArray.Add("五笔");
ddl.DataSource = ddlArray;
ddl.DataBind();}源文件:<form id="form1" runat="server">
<div>
<asp:DropDownList ID="ddl" runat="server">
</asp:DropDownList>
</div>
</form>注意:不是每个集合都能够与控件的属性绑定,绑定的集合必须支持Iconnection接口,满足条件的集合有:DataReader(数据访问器),ArrayList(数据列表),DataView(数据视图),HashTable(哈希表).4.示例:绑定函数结果public string User = "飞刀";
protected void Page_Load(object sender, EventArgs e)
{
Page.DataBind();}
public int GetAge(String uid)
{
int age = 0;
switch (uid)
{
case "中国":
age = 21;
break;
case "飞刀":
age = 23;
break;
}
return age;
}源文件:<form id="form1" runat="server">
<div>
User=<%#User %><br />
<%#GetAge(User) %>
</div>
</form>