ASP.NET 点滴一
最近又开始写些.NET的程序,从现在起开始吧遇到的一些问题和心得记录下来。
Problem.1
"sql_variant 到 uniqueidentifier 的隐式转换。请使用 CONVERT …."
在ASP.NET 中使用DataSource的时候如果数据库使用的uniqueidentifier,自动绑定所编译的程序运行时会有这个错误,因为其自动生成的类型是Object。有的人总想方设法吧类型设置成Guid的,其实只需要将类型设置为Empty即可。
例如我自己写程序的时候遇到的这个问题:
原来是:
<asp:ControlParameter ControlID="GridView1" Name="tgc_tgid" PropertyName="SelectedValue" Type="Object" />
<asp:ControlParameter ControlID="ddlRoles" Name="tgc_role" PropertyName="SelectedValue" Type="Int32" />
只需要将Type="Object"去掉即可
Note.2
开启Trace
在 xxx.aspx文件头部
<%@ Page Language="C#" AutoEventWireup="true"… Trace="true" %>
这样就能查看详细的跟踪信息。
Note.3
缓存控制
在 xxx.aspx文件头部
配置<%@ OutputCache %>,就可以控制缓存模式。
Note.4
ASP.NET身份验证信息跨域共享状态
在ASP.NET 2.0 中只需修改web.config文件即可,修改方法如下:
<authentication mode="Forms">
<forms name=".ASPNETFORM" domain="imneio.com" loginUrl="/login.aspx" defaultUrl="/default.aspx" protection="All" timeout="30" path="/" requireSSL="false" slidingExpiration="true" enableCrossAppRedirects="false" cookieless="UseDeviceProfile" />
</authentication>
domain指定了cookie保存的域,只要保存的是 abc.com形式或者.abc.com的形式,那么其二级域名都可以共享此cookie。
此外,web.config标签中的<sessionState >也做相应修改,mode改为StateServer或者SqlServer,那么里面的session信息也就全部可以共享了。
StateServer需要在服务中开启“asp.net状态服务”的服务。
Note.5
ASP.NET 控件模板里面的Eval绑定特殊字段。
当DataSrouce用 select a from xxx 语句查询的时候,可以在模板里面用 Eval("a") 来获取其值。
但使用 select count(*) from xxx 语句做查询的时候,Eval(填什么内容?),用Eval("Column1")。
简单吧?!







