当前位置:编程学习 > C#/ASP.NET >>

关于用asp.net开发网站时,#不使用服务器控件#的一些疑问。

asp.net最大的特点就是有服务器控件,拖一个到界面上,双击控件,然后对控件写事件处理(比如Button_OnClick),这看起来确实对网站开发效率提高不少。

但听说这样开发一个大型网站的话,资源也会消耗不少……

现在不是资源的问题,只是我现在想知道,有些网站用asp.net开发的,却使用的是传统的input控件来开发。

问题:
1、比如传统的按钮事件应该如何来写了?难道像原来做asp一样,form 的action="...",然后到新的action页面的.CS里写事件处理?

2、像很方便的Repeater DataList DataGird这些排版服务器控件不使用的话,对于那些比如新闻列表(N行1列)、图片管理(N行N列)这些排版如何才能做到?

我问过一些朋友,他们说用MVC模式开发,我知道我比较菜,一下悟不出来。
希望有人能提供一些简单的源码参考一下…… --------------------编程问答-------------------- 传统的按钮事件处理就写在aspx文件里。onclick="..." --------------------编程问答-------------------- LZ给你个地址 www.51aspx.com 里面源码 你想看什么就看什么啊? --------------------编程问答-------------------- MVC模式也就是三层架构了!
至于用不用服务器控件:
我感觉这就是  如果你们的网站对于用户体验以及速度等要求很高的话,那就尽量多用html控件!
如果不是要求太高就用服务器控件便可!
其实服务器控件比较安全并且开发速度快!
而html控件的好处就在于资源消耗少!
其实我个人比较推崇html控件,这样开发出来的网站效率相当好!至少比服务器控件好的多!

用后台输出的方法可以达到Repeater DataList DataGird这些控件的效果! --------------------编程问答-------------------- 2、像很方便的Repeater DataList DataGird这些排版服务器控件不使用的话,对于那些比如新闻列表(N行1列)、图片管理(N行N列)这些排版如何才能做到? 

不知道这个问题,有哪位高手能提供一些代码看看? --------------------编程问答-------------------- DridView编译后生成的也是table一类的元素,其实这个你完全可以在后台自己生成的,不过这样写起来就比较麻烦点了 --------------------编程问答-------------------- 对于一个CMS之类的网站开发工具来说,新闻列表、图片浏览、新闻,甚至当前这个csdn帖子,所有的一切前后台都可以作为单独的界面组件开发。这就是组件的概念。asp.net提供的不过是小儿科的最初最低等控件。asp.net的控件太少了,不够用。

实际上,最烂的工具也可以使用,例如使用c来写网页,甚至汇编。不了解Web应用开发但是对其它编程有一些研究的人最喜欢把大家都拉回原始人状态,这样它的技术就抬高了,足以当项目经理了。

至于说你从网页客户端看源代码,那么你实际看不到人家在服务器端运用了什么组件的。客户端只能看到最低级的被解析之后的输出的 html/css/javascript。 --------------------编程问答-------------------- 至于轻易地说“性能”问题,其实哪一个工具出现的没有被人说过呢?但是人们现在不是还是再使用新工具、新语言,而没有停留在汇编、c之类之上吗。听上去理由很充足的“越是原始的东西效率越高”的说法其实是让你失去了真正在整体上提高效率的机会的。

实际上,越是大项目越使用非常傻瓜化工作量少的不可思议的开发工具,和看上去很简单的很不可思议的开发思想。简单一些没有什么不好。

可以使用最低级的东西重复做一遍人家已经做出来的工具的代码来开发自己的应用,也可以使用最高级的工具自己对其进行外科手术式的继承和修改,后者其实更需要技术的了解。

纠缠于写html字符串还是通过自动化生成html哪个快真的意义不大。随便问一句就可以看出这个区别:你是否在大多数功能的首页页面上大量使用过页面和片段缓存技术?那时,根本不执行你写的后台代码,你不是在某个代码上提高效率而是需要整体上提高效率。 --------------------编程问答-------------------- 例如当前这个csdn帖子页面的问题就很大,它在我的极快的机器上显示时经常是令人心情很糟糕地“空白、死机”3、4秒钟。我就奇怪,为什么整个页面是一次性完整显示,而不能使用ajax方式将一些次要的东西延迟加载呢?

这就是整体思路的问题。把asp.net编程10%都不到的最底层东西看作编程的全部技术,你就难以过渡到掌握工具、组件从而面向市场,就永远是在哪里花精力长年累月死抠一点点代码而已。 --------------------编程问答-------------------- 用服务器控件消耗性能 啊 因为最终服务器控件还是被解析成html控件 --------------------编程问答-------------------- 如果还认为现在的服务器,机器不足于弥补那点点损失的话,我建议还是写asp去哪,大型网站不是一台机器按定的,什么时候cdn这些技术都可以用来解决问题 --------------------编程问答-------------------- 1.就是和原来的ASP一样,
.CS里写事件处理?,
点击后,要处理什么事件?已经是一个新的请求了。


2.Repeater DataList DataGird
DataTable dataTable; 存放数据
for (int i=0; i < dataTable.Rows.Count; i++)
{
  Response.Write("<tr>");
  Response.Write("<td>...</td>");
  Response.Write("</tr>");
}

感觉还是不要用服务器控件,不适合做Web --------------------编程问答-------------------- lz对这技术的理解是有些问题的

至于所说问题的实现呢,大家给很多了 --------------------编程问答-------------------- mark --------------------编程问答-------------------- 楼主结贴吧 --------------------编程问答-------------------- sp1234解释的精辟啊 --------------------编程问答-------------------- http://www.cnblogs.com/mail-ricklee/archive/2008/10/15/1311847.html

可以参考这个框架 --------------------编程问答-------------------- LZ同感同感,

我们公司也不许用服务器控件

我现在完全完全蒙了
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,