公司seo说这段不利于优化,然后我把form中的runat="server"删除,然后这段就没有了.此做法是否可行?主要是展示页面,需要提交表单的页面用ajax处理.还有,viewstate是否真的如传说中的那样不堪?
解决方案 »
- 请教PostBackUrl有什么办法在新窗口打开~
- net开发的网站。上传到空间后出错,高手看下。
- 请求在上下文中不可用?
- 终于解决了checkboxlist复选框中用js获取选中的value值的问题
- 求助FreeTextBox 4.0使用方法,谢谢
- 页面属性pageLayout在.net 2005里面找不到 aling控件属性在.net 2005里也没找到
- 菜鸟求助,有关Microsoft VBScript 运行时错误 (0x800A005B)
- 如何将类型“string”转换为“System.Data.SqlDbType”?
- 怎么样给每条信息前面加一个小图标?
- Asp.net程序如何实现在线升级?
- 怎么用js删除div里的内容,但不删除div本身
- 网站能拚通,为什么不能访问?
个人觉得
就你的viewstate来说 只是一个短短的隐藏域 如果这要是不行那大家都
不要用隐藏域了,不像有的gridview直接绑定全部数据源分页 创建了大量
的隐藏域值,这样才有可能抓取的时候抓到了大部分垃圾信息吧。
#region 解决ViewState过于庞大的问题
/*
//由于这里添加了目录,所以要建立App_Data/ViewState目录.
protected override object LoadPageStateFromPersistenceMedium()
{
string viewStateID = (string)((Pair)base.LoadPageStateFromPersistenceMedium()).Second;
string stateStr = (string)Cache[viewStateID];
if (stateStr == null)
{
string fn = Path.Combine(this.Request.PhysicalApplicationPath, @"App_Data/ViewState/" + viewStateID + ".txt");
stateStr = File.ReadAllText(fn);
}
return new ObjectStateFormatter().Deserialize(stateStr);
}
protected override void SavePageStateToPersistenceMedium(object state)
{
string value = new ObjectStateFormatter().Serialize(state);
string viewStateID = (DateTime.Now.Ticks + (long)this.GetHashCode()).ToString();
//产生离散的id号码
string fn = Path.Combine(this.Request.PhysicalApplicationPath, @"App_Data/ViewState/" + viewStateID + ".txt");
//ThreadPool.QueueUserWorkItem(File.WriteAllText(fn, value));
File.WriteAllText(fn, value);
Cache.Insert(viewStateID, value);
base.SavePageStateToPersistenceMedium(viewStateID);
}
*/
#endregion