如果把form中的runat="server"删除?

心悠茶亦香 2013-07-18 02:07:08


公司seo说这段不利于优化,然后我把form中的runat="server"删除,然后这段就没有了.

此做法是否可行?主要是展示页面,需要提交表单的页面用ajax处理.

还有,viewstate是否真的如传说中的那样不堪?
...全文
311 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
joyhen 2013-07-19
  • 打赏
  • 举报
回复
楼主试验下:如果你去掉form标签里面的runat="server",你还能添加服务器控件,比如<asp:Button ... /> 顺带贴下代码:
#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
  • 打赏
  • 举报
回复
引用 6 楼 u011096386 的回复:
如果程序没用到服务器控件,去掉或禁用viewstate都可 个人觉得 就你的viewstate来说 只是一个短短的隐藏域 如果这要是不行那大家都 不要用隐藏域了,不像有的gridview直接绑定全部数据源分页 创建了大量 的隐藏域值,这样才有可能抓取的时候抓到了大部分垃圾信息吧。
那个很小,影响可以忽略
ztszhq 2013-07-18
  • 打赏
  • 举报
回复
如果程序没用到服务器控件,去掉或禁用viewstate都可 个人觉得 就你的viewstate来说 只是一个短短的隐藏域 如果这要是不行那大家都 不要用隐藏域了,不像有的gridview直接绑定全部数据源分页 创建了大量 的隐藏域值,这样才有可能抓取的时候抓到了大部分垃圾信息吧。
心悠茶亦香 2013-07-18
  • 打赏
  • 举报
回复
引用 4 楼 keyi7cc 的回复:
[quote=引用 3 楼 guwei4037 的回复:] 可以取消。不过一般来说没什么影响。如果viewstate很庞大,就有点影响了。
除了把runat=server删除,还可以怎么取消啊?[/quote] 在顶部加入EnableViewState="false",这段,少了很多但是还是有一小段.....
心悠茶亦香 2013-07-18
  • 打赏
  • 举报
回复
引用 3 楼 guwei4037 的回复:
可以取消。不过一般来说没什么影响。如果viewstate很庞大,就有点影响了。
除了把runat=server删除,还可以怎么取消啊?
全栈极简 2013-07-18
  • 打赏
  • 举报
回复
可以取消。不过一般来说没什么影响。如果viewstate很庞大,就有点影响了。
lin11211408 2013-07-18
  • 打赏
  • 举报
回复
如果仅仅是展示页面没有用到服务器端的button 完全可以把form去掉
lovelium 2013-07-18
  • 打赏
  • 举报
回复
google都说没有影响。不过是可以取消。
根据这段代码,自己编写了一个小程序作为代码资料参考,方便以后可以直接拿来用,不需要网上找。如果你觉得还不错的话,就把它收藏起来吧! 1.前台代码: <html xmlns=http://www.w3.org/1999/xhtml> <head runat=server> <title>数组删除重复值</title> </head> <body> <form id=form1 runat=server>
asp.net无限级分类 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> runat="server"> 无限级菜单显示 <form id="form1" runat="server">
runat="server" Font-Bold="False" Font-Size="12px" Width="150px" OnSelectedNodeChanged="trv_menu_SelectedNodeChanged" ShowLines="True" AutoGenerateDataBindings="False">
runat="server" Font-Size="12px">  runat="server" Font-Size="12px">
runat="server" Font-Size="12px" Text="目录名称:"> runat="server" Font-Size="12px"> *runat="server" ControlToValidate="txt_menu" Display="Dynamic" ErrorMessage="请填写目录名称!" Font-Size="12px"> runat="server" Font-Size="12px" OnClick="btn_Add_Click" Text="添加" />
runat="server" AutoGenerateColumns="False" CellPadding="3" DataKeyNames="ID" Font-Size="12px" Width="100%" BorderWidth="1px" OnRowCancelingEdit="grd_menu_RowCancelingEdit" OnRowDeleting="grd_menu_RowDeleting" OnRowEditing="grd_menu_RowEditing">  
form>

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧