Asp.Net 之 前台绑定常用总结
1、<%= 变量名 %> 里面放的是后台定义的变量名,如:
<div> <p> <%= DateTime.Now.ToString() %></p> </div>
输出结果为:2015-03-09 11:20:08
2、 <%# %> 数据的绑定(注:只能用在数据绑定控件且为服务器控件中)
此格式是asp.net下特有的,它是控件数据绑定的语法,且必须要调用该控件的DataBind()方法才执行(或者整个页面Page.DataBind()也就是对所得控件都调用DataBind()方法)。
如:<%# DataBinder.(Container.DataItem, "ClassName") %>
完整实例代码:
<asp:DataList ID="ClassList" runat="server"> <ItemTemplate>
<%# DataBinder.(Container.DataItem, "ClassName") %> </ItemTemplate> </asp:DataList>
如:我需要将<%#Eval("性别")%> =1 ;将1转换成女。
首先在.CS文件中定义一个方法:
/// <summary> /// 转换性别 /// </summary> public object ChangeSex(object obj) { if (obj.ToString() == "0") { return "男"; } else { return "女"; } }
则,<%# ChangeSex(Eval("性别"))%> 输出为 " 女 "
可以把这些公共的转换方法全部放到一个公共类文件中,进行调用之。调用方法为:
<%# 命名间.公共类名.方法名("列")%>
<%# Common.ChangeSex(Eval("性别"))%>
也可以进行时间截取
如1: <%# Eval("StartTime", "{0:yyyy-MM-dd}")%>
或者2: <%# Convert.ToDateTime(Eval("StartTime").ToString()).ToString("yyyy-MM-dd")%>
(2)<%# Bind("数据列")%>
常见于GridView中的不需要进行处理的数据列绑定。
(3)Eval和Bind的区别
[1]绑定表达式 <%# Eval("字段名") %> <%# Bind("字段名") %>
1).eval是只读数据,bind是可更新的.
2).当对需格式化操作的表达式操作时候,必须用Eval 如<%# Eval("字段名").ToString().Trim() %>
3).若GridView中绑定列里面 设置 内容格式 DataFormateString ={0:d} ,则 必须把 属性 HtmlCode 设置为false,否则无法 起作用;
4).Eval 单向绑定:数据是只读的 ;Bind 双向绑定:数据可以更改,并返回服务器端,服务器可以处理更改后的数据,如存入数据库.
<EditItemTemplate> <table> <tr> <td align=right> <b>Employee ID:</b> </td> <td> <%# Eval("EmployeeID") %> </td> </tr> <tr> <td align=right> <b>First Name:</b> </td> <td> <asp:TextBox ID="EditFirstNameTextBox" RunAt="Server" Text='<%# Bind("FirstName") %>' /> </td> </tr> <tr> <td align=right> <b>Last Name:</b> </td> <td> <asp:TextBox ID="EditLastNameTextBox" RunAt="Server" Text='<%# Bind("LastName") %>' /> </td> </tr> <tr> <td colspan="2"> <asp:LinkButton ID="UpdateButton" RunAt="server" Text="Update" CommandName="Update" /> <asp:LinkButton ID="CancelUpdateButton" RunAt="server" Text="Cancel" CommandName="Cancel" /> </td> </tr> </table> </EditItemTemplate>
单击行的 Update 按钮时,使用 Bind 语法绑定的每个控件属性值都会被提取出来,并传递给数据源控件以执行更新操作。
使用 DataBinder.Eval ASP.NET 提供了一个名为 DataBinder.Eval 的静态方法,该方法计算后期绑定的数据绑定表达式,并将结果格式化为字符串(可选)。利用此方法,可以避免许多在将值强制为所需数据类型时必须执行的显式强制转换操作。
例如,在下面的代码片段中,一个整数显示为货币字符串。使用标准的 ASP.NET 数据绑定语法,必须首先强制转换数据行的类型以便检索数据字段 IntegerValue。然后,这将作为参数传递到 String.Format 方法:
Eval 和 Bind绑定的数据在<%# %> 显示, 若对要显示的数据作修改或者操作也在<%# %> 中,例如:
1)对显示的字符串作字符显示:<%# (Eval("Address")).ToString().SubString(0,10)%>,显示10位数的地址。
2)对显示的信息作判断:<%# (Eval("if_delete")).ToString == "yes" ?"已删除":"未删除"%>
3、<%@ %> 表示:引用
如在很多.aspx页面中,都可以看到如下的代码:
<%@ Page Language="C#" CodeFile="Default.aspx.cs" Inherits="_Default" %>
4、<% 函数 %>中间一般放函数或者方法,典型的asp程序写法。
例如:
<tr bgcolor="#ffffff"> <td height="20"> <div align="center">种类:</div> </td> <td height="9"> <% getTypeList(); %> </td> </tr> <script type="text/javascript">
function getTypeList(){}
</script>