积极答复者
asp.net 开发网站时产生很多垃圾代码?

问题
-
我在做网页开发的时候,只要用asp.net控件就会产生一些垃圾代码,这个问题我很早就发现了,所以我以前一致把html代码写在.cs文件里
比如:
stringBiuder sb = new stringBiuder();
dataset ds = ..........
for(int i=0;i < ds.tables[0].rows.cout;i++)
{
sb.append("..............")
}html控件.innerHtml = sb.tostring();
以前就这么写...
最近新来了同事,看到我写的代码后,说不能这样写,
最初开发.net 就是为了将html 和代码分离,他让我用数据控件,但是会产生很多代码,以前看书的时候书上说 其实网站本身就是一个长字符串,如果用数据控件的话产生很多代码就会加长网站字符串的长度和大小,多多少少会影响速度
请问各位同胞,我应该怎样写,才比较合理?
- 已移动 孟宪会Moderator 2010年9月1日 1:09 (发件人:.NET Framework 一般性问题讨论区)
答案
-
我不明白楼主说的“垃圾代码”的意思。用我的理解就是无效无用的代码吧?
其实是这样的:每一个控件在服务器编译后返回客户端都会转换成浏览器解析的html代码,这些代码都是组成网页的表现形式。当然其中的逻辑结构是规范化的。
记得在我以前我不明白为什么table中还有个tbody标签,当时删除也没发现有什么错误。上网查了一下才明白其中的原理,于是乎我就明白了什么叫做“标准化”。当然你也可以不遵循W3C标准化
再或者是这么一种情况,允许你在变成的时候动态生成HTML代码,就像前面几位朋友说的一样,也许你在输出HTML的同时没有严格的控制,导致了输入“多余”的代码,正所谓你的垃圾代码吧?呵呵
如果楼主认为的“垃圾代码”是所谓的“标准化”的话,那么我想我们理解的就是一个概念了
- 已标记为答案 xiawei_hi 2010年9月8日 6:55
全部回复
-
控件是可以复用的代码,如果你的HTML生成代码是复制粘贴出来的,就应该改为可以复用的代码.生成冗余HTML代码只能说用错了控件或者控件没写好.
The following is signature, not part of post
Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
Visual C++ MVP -
自己编程产生HTML代码的时候会直接面临很多问题,从安全、容错性和开发效率等几个方面来说我们都不建议一般开发人员不使用控件而自己编程产生HTML代码,因为对于缺乏经验的人来说那样做代码质量完全没有保障。
ASP.NET控件所产生的大部分所谓的垃圾代码都是在很多场合中有实际作用的,有一些可以在用不到的时候关闭掉。只有当你已经对ASP.NET的原理有了较为深入的研究,并且已经有能力编写独立的ASP.NET控件的时候,才该考虑自己编程产生HTML代码的事情。
如果你实在不喜欢ASP.NET Web Form模式,你也可以考虑用ASP.NET MVC。
Most questions i'm interested in might have two or more possible answers i know or i don't know. So please read question carefully before you try to answer, and explan your question detailedly before asking for help. 很多看起来简单的问题都存在多种可能性,如果您不能详细的解释,别人就不能正确判断出您所遭遇的实际状况,因而不能给出最适合的解决办法。在您没有给出详细信息的情况下,施助者只有张贴大量有可能有关的解决办法。而您可能没有耐心阅读所有这些东西,在这种情况下您就客观地形成了对施助者的伤害——除非“施助者”并没有用心去尝试帮助您。 同样地,当您尝试解答一个看起来“好像遇到过”的问题的时候,您也需要详细地阅读和理解这个问题。如果您不了解问题的细节,您可能会给出不相关的或者无助于解决当前问题的解答。 -
我不明白楼主说的“垃圾代码”的意思。用我的理解就是无效无用的代码吧?
其实是这样的:每一个控件在服务器编译后返回客户端都会转换成浏览器解析的html代码,这些代码都是组成网页的表现形式。当然其中的逻辑结构是规范化的。
记得在我以前我不明白为什么table中还有个tbody标签,当时删除也没发现有什么错误。上网查了一下才明白其中的原理,于是乎我就明白了什么叫做“标准化”。当然你也可以不遵循W3C标准化
再或者是这么一种情况,允许你在变成的时候动态生成HTML代码,就像前面几位朋友说的一样,也许你在输出HTML的同时没有严格的控制,导致了输入“多余”的代码,正所谓你的垃圾代码吧?呵呵
如果楼主认为的“垃圾代码”是所谓的“标准化”的话,那么我想我们理解的就是一个概念了
- 已标记为答案 xiawei_hi 2010年9月8日 6:55