ASP.Net 2.0&UP ViewState丢失问题
没有仔细研究过ViewState,最近出现的问题让人头痛不已。
ViewState会在某些特定情况下消失,且很难捕捉到。查了一些技术文章,都是说ViewState的机制是将信息存在页面的hidden input里面,似乎不可能存在这些问题,给出的理由无非是在某个地方被某个不小心的程序员给禁掉或清除掉了。但找了很久也没找到这个地方......
一个偶然的机会看到了一篇关于ViewState机制的文章,当看到下面这段文字时顿时豁然开朗
----------------------------我是分割线-------------------------------------------------------------------------
呵呵,有的。从APS.NET2.O开始,微软为我们提供了!顾名思义,这个类可以将VIEWSTATE存储在Session中,而不是Hidden Input中。这可以用于大数量级的VIEWSTATE处理,它的实现也异常简单
---转自“自由飞” http://www.cnblogs.com/freeflying/archive/2010/01/03/1638264.html
----------------------------我是分割线-------------------------------------------------------------------------
果然在基类中找到了如下方法:
///设置 ViewState对象 保存在Session中
protected override PageStatePersister PageStatePersister
{
get
{
return new SessionPageStatePersister(this);
}
}
原来自从2.0以来,多了一种选择,可以将ViewState信息存到Session中,Session和页面相比具有安全、节省带宽资源等好处、减少客户端资源消耗,但是但是但是缺点也不少。由于实际保存在Session中,Session的所有缺点都会具备。如果没有个好的Session管理车略极容易出现丢ViewState丢失的情况。
所以大家在选择ViewState的保存机制时要小心啊。除非必要建议还是用它本来的方式吧。
///设置 ViewState对象 保存在页面中
protected override PageStatePersister PageStatePersister
 
相关文档:
最近在asp.net 用到的sqlserver存储过程分页中显示数据时遇到关于排序问题。
网上的一些分页存储过程只支持排序列为int 类型,对于实际开发中很多时候都需要对DateTime类型,varchar类型进行排序。
下面分享一下可以支持任意数据类型的列进行排序的存储过程。
Create PROCEDURE sp_viewByPage
@TblName var ......
控制网站分辨率 我们可以 用 frameset
虽然 asp.net不支持这个属性 但是功能是可以实现的
如 :
<frameset name="main" rows="105,*" frameborder="no" border="0" framespacing="0">
<frame src="xx.aspx" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" title="topFrame" /> ......
/// <summary>
/// 过滤标记
/// </summary>
/// <param name="NoHTML">包括HTML,脚本,数据库关键字,特殊字符的源码 </param>
/// <returns>已经去除标记后的文字</returns>
&nbs ......
我试着去使用asp.net mvc模板去创建一个blog发布系统。当然,网上有很多open source的你可以使用,特别是很多php写的模板。
这里只是去试着学习使用asp.net mvc模板去创建一个blog发布系统,我自己用。大部分的blog都会有如下一些部分组成:
这里还会使用Common Library .net 这个open source的project。你可以到 ......