asp.net 做网站的时候,总是产生N多的Input 隐藏域,使用ViewState的原因,随便一个web控件都会用到ViewState还有一点,asp.net 控件的样式都会直接加在Html元素上,而不是分离的反正就是查看源代码的时候总是乱哄哄的。www.mtime.com 这个就做的不错!有没有人知道怎么做的。

解决方案 »

  1.   

    页面当然是div+css可以相对干净些,能在css里处理的,就不要往页面上写了
      

  2.   

    可以禁用ViewState
    可以不使用工具箱里面的控件,
    要更好点用DIV+CSS写HTML,没什么不能做到的吧?
      

  3.   


    这个倒是没有问题,关于样式表的处理相对简单些,关键是第一个问题!asp.net产生的垃圾代码太多!
      

  4.   

    你可以禁用viewState或是你不用服务器端的控件即可.
      

  5.   

    如果是前台页面的话,不要用服务器端的Form标签
    <form id="form1" runat="server">
    </form>就行了,只用普通的Form标签
      

  6.   


    1、<form id="form1" runat="server">
    </form> 去掉,在不使用web控件的时候。
    2、关闭viewState.
    3、考虑其它方式。
      

  7.   

    1、可以用HTML方式输出(工作量比较大一些);
    2、关闭viewState. 
    3、用正则将Input 隐藏域去掉。
      

  8.   

    如果要是显示数据怎么办
    原来的控件,最终呈现的HTML 确实不是很理想!
      

  9.   

    调整ViewState的位置,让你的asp.net页面对搜索引擎更友好 
    在asp.net页面中经常会出现一些ViewState的html标记,也许某些时候你会禁用ViewState,但是某些情况下你不得不使用它——因为它的便捷性,但是由于在默认情况下,ViewState的HTML标记总是在页面的最前面,而且都是一些没有意义的内容,一般的搜索引擎收录的时候 就会将这些无意义的字符串收录进去,这样就会严重影响你所制作的网页在搜索引擎的排名。有没有解决办法?答案是有的,可以将ViewState的Html标记移到底部,不影响性能,对搜索引擎更友好。这种方法就是重写页面的Render,将ViewState的Html标记移到底部。 上面的文章演示了如何调整那些代码的位置的方法,去掉也不是一件很难的事情。
      

  10.   

    asp.net夜话之七:ADO.NET介绍
    ADO.NET是对Microsoft ActiveX Data Objects (ADO)一个跨时代的改进,它提供了平台互用性和可伸缩的数据访问。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO .NET组件,它可以是基于一个Microsoft Visual Studio的解决方案,也可以是任何运行在其它平台上的任何应用程序。以前做数据库访问的时候,需要一直与数据库保持连接,直到获取完所有满足需要的数据之后才会断开数据库连接,这种数据库访问方式称之为连接式数据访问技术。相比于以前的连接式数据访问技术,ADO.NET除了提供连接式数据访问技术之外,还提供了另一种断开式解决方案,那就是在内存中模拟一个数据库,也就是内存中的数据库。我们知道在实际的数据库技术中,每个数据库就是一个业务逻辑单元,一般来说这个数据库包含了实现一个应用软件或者一个网站所需要的全部数据。
    这样显示数据。 public void ShowData() 
        { 
            //实例化Connection对象 
            SqlConnection connection = new SqlConnection("Data Source=(local);Initial Catalog=AspNetStudy;Persist Security Info=True;User ID=sa;Password=sa"); 
            //实例化Command对象 
            SqlCommand command = new SqlCommand("select * from UserInfo where sex=1", connection); 
            //打开Connection对象 
            connection.Open(); 
            //得到DataReader的实例,注意使用了CommandBehavior这个参数,以便同时关闭Connection 
            SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection); 
            //如果当前记录还有下一条记录,则循环不会终止 
            while (reader.Read()) 
            { 
                Response.Write("<tr><td>" + reader.GetInt32(0) + "</td>");//按照列顺序和对应类型直接读取值 
                Response.Write("<td>" + reader.GetString(1) + "</td>");//按照列顺序和对应类型直接读取值 
                Response.Write("<td>" + reader.GetString(2) + "</td>");//按照列顺序和对应类型直接读取值 
                Response.Write("<td>" + reader.GetByte(3) + "</td>");//按照列顺序和对应类型直接读取值 
                //下面是按照列顺序直接读取值,并且根据值来判断最终显示结果 
                Response.Write("<td>" + (reader.GetBoolean(4)==true?"男":"女") + "</td>"); 
                //根据列顺序读,列的值需要做相应转换 
                Response.Write("<td>" + reader[5].ToString() + "</td>"); 
                //根据列名来读取,列的值需要做相应转换 
                Response.Write("<td>" + reader["Phone"] + "</td>"); 
                Response.Write("<td>" + reader["Email"].ToString() + "</td></tr>\n"); 
            } 
            reader.Close(); 
        } 
      

  11.   

    lz可以试着做做ajax,当然不要使用任何控件,scriptManager也不要用.
    用js的XmlHttpRequest,然后你就会有一种截然不同的感觉
    ToolBox从来都不用点的感觉