灵活的运用数据绑定操作
绑定到简单属性:<%#UserName%>
绑定到集合:<asp:ListBox id="ListBox1" datasource='<%# myArray%>' runat="server">
绑定到表达式:<%#(class1.property1.ToString() + "," + class1.property2.ToString())%>
绑定到方法返回值:<%# GetSafestring(str) %>
绑定到Hashtable:<%# ((DictionaryEntry)Container.DataItem).Key%>
绑定到ArrayList:<%#Container.DataItem %>
若数组里里放的是对象则可能要进行必要的转换后再绑定如:
<%#((对象类型)Container.DataItem).属性%>
绑定到DataView,DataTable,DataSet:
<%#((DataRowView)Container.DataItem)["字段名"]%>或
<%#((DataRowView)Container.DataItem).Rows[0]["字段名"]%>
要格式化则:
<%#string.Format("格式",((DataRowView)Container.DataItem)["字段名"])%>
<%#DataBinder.Eval(Container.DataItem,"字段名","格式")%>
绑定到DataReader:
<%#((IDataReader)Container.DataItem).字段名%>
当然为了方便一般使用最多的就是DataBinder类的Eval方法了.不过这样对于同时要绑定大量的数据效率要低一些
Sql Server中DateTime值的范围
1753-01-01 至 9999-12-31
在做Access程序导入数据到Sql Server 时要注意ACCESS中的日期可能不在此范围内而出现错误.(如日期为207-01-01)
检测到有潜在危险的 Request.Form 值
solution1:<%@Page ValidateRequest="false" %>
solution2:
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
其实这样做的确有点不安全,我们还应该自己定义一个专门处理这类危险字符的方法来对其进行预处理
ViewState,Session,Cookie作用域
ViewState值保存在浏览器的html代码中,当浏览器关闭或跳到别的页面,则值消失
Session采用键值对的形式,键存放客户端而值放在服务器端,是通过用户的ID去找服务器上对应的值,这种方式值放置在服务器端,有个时间限制,时间到则服务器自动释放
Cookies则有两种方法,一种方法是把值保存在浏览器的变量中,当浏览器关闭时结束,另一种方法是保存在硬盘中,只要时间不过期,下次还可使用
Access中的通配符注意了
DAO: *, ADO: % (是不是有时候在SQL SERVER里能查而用VB在操作ACCESS时有查不出数据来啊?)
(添加中...)