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() == "")
{ 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 方法:
将此语法与 DataBinder.Eval 的语法进行比较,后者只有三个参数:数据项的命名容器、数据字段名称和格式字符串。在模板化列表中(如 DataList 类、DataGrid 类或 Repeater 类),命名容器始终是 Container.DataItem。
格式字符串参数是可选的。如果它被忽略,DataBinder.Eval 将返回类型对象的值,如下面的示例所示:
当对模板化列表中的控件进行数据绑定时,DataBinder.Eval 特别有用,因为数据行和数据字段通常都必须强制转换。
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>
Asp.Net 之 前台绑定常用总结的更多相关文章
- 由ASP.NET所谓前台调用后台、后台调用前台想到HTTP——实践篇(二)
在由ASP.NET所谓前台调用后台.后台调用前台想到HTTP——理论篇中描述了一下ASP.NET新手的三个问题及相关的HTTP协议内容,在由ASP.NET所谓前台调用后台.后台调用前台想到HTTP—— ...
- 由ASP.NET所谓前台调用后台、后台调用前台想到HTTP
由ASP.NET所谓前台调用后台.后台调用前台想到HTTP 在由ASP.NET所谓前台调用后台.后台调用前台想到HTTP——理论篇中描述了一下ASP.NET新手的三个问题及相关的HTTP协议内容,在由 ...
- C#页面前台绑定数据 <%%><%#%><%=%>
ASP.net前台绑定用的最多,今天小小总结一下. 1:<%#Eval("")%> 2:<%#Bind("")%> 3:<%=变量 ...
- ASP.NET所谓前台调用后台、后台调用前台想到HTTP——实践篇
由ASP.NET所谓前台调用后台.后台调用前台想到HTTP——实践篇 在由ASP.NET所谓前台调用后台.后台调用前台想到HTTP——理论篇中描述了一下ASP.NET新手的三个问题及相关的HTTP协议 ...
- ASP.NET没有魔法——ASP.NET MVC 模型绑定解析(下篇)
上一篇<ASP.NET没有魔法——ASP.NET MVC 模型绑定解析(上篇)>文章介绍了ASP.NET MVC模型绑定的相关组件和概念,本章将介绍Controller在执行时是如何通过这 ...
- 理解ASP.NET Core - 模型绑定&验证(Model Binding and Validation)
注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 模型绑定 什么是模型绑定?简单说就是将HTTP请求参数绑定到程序方法入参上,该变量可以是简单类 ...
- ASP.NET MVC Model绑定(六)
ASP.NET MVC Model绑定(六) 前言 前面的篇幅对于IValueProvider的使用做个基础的示例讲解,但是没并没有对 IValueProvider类型的实现做详细的介绍,然而MVC框 ...
- ASP.NET MVC Model绑定(五)
ASP.NET MVC Model绑定(五) 前言 前面的篇幅对于IValueProvider的获取位置和所处的生成过程做了讲解,本篇将会对IValueProvider的使用做个基础的示例讲解,读完本 ...
- ASP.NET MVC Model绑定(四)
ASP.NET MVC Model绑定(四) 前言 前面的篇幅对于Model绑定器IModelBinder以及实现类型.Model绑定器提供程序都作了粗略的讲解,可以把Model绑定器想象成一个大的容 ...
随机推荐
- Mac OSX系统下通过ProxyChains-NG实现终端下的代理
项目主页:https://github.com/rofl0r/proxychains-ng 官方说明: proxychains ng (new generation) - a preloader wh ...
- bmp图像数据转jpg图像的C语言实现
bmp图像格式协议 jpg图像格式协议 Bmp转jpg图像代码 密码:nmaj
- 反射生成SQL语句入门
今天我们来学习学习通过反射技术来生成SQL语句. 反射提供了封装程序集.模块和类型的对象.您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型.然后,可以调用类型的方法或访 ...
- git push时提示"fatal: The current branch master has no..."
git push到远程仓库时提示:fatal: The current branch master2 has no upstream branch. To push the current branc ...
- 图解vim常用命令
VI 即 Visual Interface,可视化接口,VIM是VI的增强版 (improved),两张图总结vim常用命令. 图片来自 https://www.cnblogs.com/yangjig ...
- Linux终端(Xshell等)的编码设置
先简单说说一下遇到的情况吧: 在用类似Xshell的工具连接远端Linux时,运行命令ls时,如果有中文,就会显示有乱码: 网上查资料时,也把相应的连接属性修改为utf-8了(见下图),但是还是不行: ...
- .Net 中DataSet和DataTable的 区别与联系
1.简要说明二者关系 在我们编写代码的时候从数据库里取出数据,填充到dataset里,再根据表的名字,实例化到 datatable 中.其实使用 dataset 相当于所使用数据库中数据的副本,保存在 ...
- Django1.7如何配置静态资源访问
Django是非常轻量级的Web框架,今天散仙来看下如何在Django中配置静态的资源访问路径,一个中等规模的网站,可能就会有很多静态的资源需要访问,无论是html,txt,还是压缩包,有时候访问这些 ...
- linux下安装MYSQL详细配置(转)
#tar zxvf mysql-5.0.18.tar.gz#cd mysql-5.0.18 #./configure --prefix=/usr/local/mysql --with-chars ...
- 使用Bootstrap 3开发响应式网站实践02,轮播
本篇体验图片轮播.html部分为: <div class="carousel slide" id="myCarousel" > <!--Ind ...