C#页面前台绑定数据 <%%><%#%><%=%>
ASP.net前台绑定用的最多,今天小小总结一下。
1:<%#Eval("")%>
2:<%#Bind("")%>
3:<%=变量%>
1:<%#Eval("数据列")%> 主要用于需要进行更改的数据列
如:我需要将<%#Eval("性别")%> =1 ;将1转换成女。
首先在.CS文件中定义一个方法:
/// <summary>
/// 转换性别
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
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:<%=变量%>
需要在后台.cs文件中声明一个public的变量
public string userInfo= "数据";
直接调用就OK了
但是我们一般不会这样直接写一个定值;
就需要这样写了:
public string StrOrders
{
set
{
ViewState["Orders"] = value;
}
get
{
if (ViewState["Orders"] == null)
{
ViewState["Orders"] = "";
}
return ViewState["Orders"].ToString();
}
}
------------------------------------------------------------------------------------------------------------------
1)Eval绑定
可以绑定一个单独的字段 Eval("houseID")
也可以绑定一个函数 <%# houseEdit(Eval("infoType"), Eval("houseID"))%>
2)Bind绑定
两者的区别:Eval 方法是静态单向(只读)方法,所以Eval 函数用于单向(只读)绑定,该方法采用数据字段的值作为参数并将其作为字符串返回。Bind 方法支持读/写功能,所以Bind 函数用于双向(可更新)绑定。该方法可以检索数据绑定控件的值并将任何更改提交回数据库。
3)InnerHtml :可以给前台的相关标签如<ul><li><div>等定义id属性和runat属性,然后在后台的代码中绑定id的innerHtml即可。这种方法很便捷,而且能够很好的实现前后台交互,但是注意InnerHtml内容中的一些html标签和属性值中的转义字符。细心是很重要的哦,我就曾经忘记给<a>写结束标签,导致在ie 8里面显示错位。但在其他浏览器中一切正常,一时之间无法排错,还以为是前台设计兼容性的问题那,怎么折腾了半天。
4)在html代码中写入 <%=dll_info.bll.getNewsList.getList() %>
然后在后台书写带返回值的静态方法getList,然后把相关的html代码在后台做绑定,返回到前台来。其实和上面的方法有相似之处,不过这种方法可以很好的实现代码复用。但是不可以有效的和页面上的一些服务器控件交互。
5)还有一种更普遍的就是写JavaScript代码做处理,这里就不举例了。
-----------------------------------------------------------------------------------------------------------------------------------------
<input type="hidden" name="hidFlag">
<% if( Request["hidFlag"].ToString() == "1"){%>
<input type="button">
<% }else if(Request["hidFlag"].ToString() =="2"){%>....
<%# DataBinder.Eval(Container.DataItem,"Time").ToString()=="" ? "暂无信息":DataBinder.Eval(Container.DataItem, "Time") %>
该时间字段,不为空,就绑定时间,为空,就显示暂无信息。
C#页面前台绑定数据 <%%><%#%><%=%>的更多相关文章
- 14Flutter StatefulWidget有状态组件、页面上绑定数据、改变页面数据、实现计数器功能、动态列表
/** * Flutter StatefulWidget有状态组件.页面上绑定数据.改变页面数据 * 在Flutter中自定义组件其实就是一个类,这个类需要继承StatelessWidget/Stat ...
- Flutter StatefulWidget 有状态组件、页面上绑定数据、改变页面数据
在 Flutter 中自定义组件其实就是一个类,这个类需要继承 StatelessWidget/StatefulWidget. StatelessWidget 是无状态组件,状态不可变的 widget ...
- StatelessWidget 无状态组件 StatefulWidget 有状态组件 页面上绑定数据、改变页面数据
一.Flutter 中自定义有状态组件 在 Flutter 中自定义组件其实就是一个类,这个类需要继承 StatelessWidget/StatefulWidget. StatelessWidget ...
- Java 前台后台数据传递、中文乱码解决方法
1.向前台传递数据;2.向后台传递数据;3.ajax post 提交数据到服务端时中文乱码解决方法;4.数组类型参数传递; 1.向前台传递数据:1.1 字符串数据传递: 这种方式只是单一的向前台传递 ...
- 微信小程序自学第二课:app及页面的生命周期、使用setData绑定数据
一.App声明周期 1.App() app.js中的App() 函数用来注册一个小程序.接受一个 object 参数,其指定小程序的生命周期函数等. 示例代码: App({ onLaunch: fun ...
- ASP.NET前台html页面AJAX提交数据后台ashx页面接收数据
摘要:最近在写网站,好不容易弄好了需求又变了,没错企业的门户网站硬要弄成后台管理系统一样,没办法作为小工的我只能默默的改.前台HTML页面需要提交数据到后台处理,又不能用form表单,于是乎研究了1天 ...
- 在aspx页动态加载ascx页面内容,给GridView控件绑定数据
在aspx页动态加载ascx页面内容 //加载ascx页面内容Control c1 = this.Page.LoadControl("WebUserControl1.ascx"); ...
- ASP.ENT前台更改绑定数据的日期格式
1.Eval和Bind的区别 绑定表达式 < %# Eval("字段名") %> < %# Bind("字段名") %> 区别 1.ev ...
- 【WPF】绑定数据
WPF绑定数据 模型类(继承 INotifyPropertyChanged,实现属性的变更通知)
随机推荐
- bootstrap-10
实现原理: 通过定义容器大小,平分12份(也有分为24份或32份,但12份是最常见的),在调整内外边距,最后结合媒体查询,就制作除了强大的响应式网格系统. 工作原理: 1.数据行(.row)必须包含在 ...
- Error:(1, 0) Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See http://b.android.com/9574
这个一般是因为你打开的项目所在的目录存在中文,把项目换到全英文目录下就没问题了
- JavaScript中的document.cookie的使用
转:http://blog.csdn.net/liuyong0818/article/details/4807473 我们已经知道,在 document 对象中有一个 cookie 属性.但是 Coo ...
- Android学习六:Socket 使用
1socket的作用 通过http去获取服务器的数据在有些情况下是行不通的,所有使用socket与服务器通信也是必须掌握的 2.代码 好了上代码,代码中有解释,首先是简单的服务端代码 package ...
- IE中Keep-Alive机制引起的错误
我们知道Http协议是基于TCP/IP连接的,也就是说客户端浏览器向服务器发出一个Http请求并得到响应是要建立一条TCP/IP连接的,但是如果每发出一个Http请求客户端就要向服务器端建立一条TCP ...
- [linux] Nginx编译安装错误error: the HTTP rewrite module requires the PCRE library
nginx编译错误: 执行如下命令安装缺少的文件即可
- Unity3D外包团队——技术分享U3D全景漫游(三)
22.给每个物体都附上贴图,如果是纯色物体,也付给纯色贴图 23.打光后,选择要烘培的物体 设置输出路径 添加烘培输出的贴图类型 添加“LightingMap”类型 设置烘培贴图大小和目标贴图位置为“ ...
- python---hashlib
简介 用于加密相关的操作,代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法. 在python3中已经废弃了md5和sha模块,简单说明 ...
- JSTL标签库中<c:choose></c:choose>不能放JSP页面<!-- -->注释
笔者最近在使用JSTL标签库的<c:choose>标签时候,发现在该标签体中加了JSP的<!-- -->注释时,总是会显示报错信息.错误的信息如下: <span styl ...
- UVA 1395 苗条的生成树(最小生成树+并查集)
苗条的生成树 紫书P358 这题最后坑了我20分钟,怎么想都对了啊,为什么就wa了呢,最后才发现,是并查集的编号搞错了. 题目编号从1开始,我并查集编号从0开始 = = 图论这种题真的要记住啊!!题目 ...