读书人

.net怎样才能做到不拖控件?该如何解决

发布时间: 2012-03-07 09:13:51 作者: rapoo

.net怎样才能做到不拖控件?
常常在网上看到评论:.net程序员大多数就只会拖控件,如果你共组1—2年还是就会拖控件,就完全不合格!

我也想过:想Button 和TextBox这种基本的东西,用服务器控件难道不是很好吗? 但是我看到很多大型的用.NET做的B/S的网站

像起点中文网,他的源码中没有像

C# code
    <form name="aspnetForm" method="post" action="Elearning.aspx" id="aspnetForm"><script type="text/javascript"> //<![CDATA[var theForm = document.forms['aspnetForm'];if (!theForm) {    theForm = document.aspnetForm;}function __doPostBack(eventTarget, eventArgument) {    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {        theForm.__EVENTTARGET.value = eventTarget;        theForm.__EVENTARGUMENT.value = eventArgument;        theForm.submit();    }}//]]></script>

类似.net自动生成的东西,使用POST方式提价页面/刷新页面的Javascript;
他们到底是怎么做的,难道是用的ASP.net MVC? 希望各位大大们指点。。。
PS:怎样才能做到所谓的不拖控件。或者是像这个方向学习


[解决办法]
拖放的确方便

懂得机理的喜欢拖放
一点也不懂的只会拖放

就是那些中间地带的比较可怜,
用拖放吧, 显得没水平,
不用吧, 又干不成活.
[解决办法]
你可以看看这个系列的文章,掌握不拖控件的开发方法(.net高级人才必学):秋色园技术原理解析系列
[解决办法]
拖只是为了快...
就是你知道背后的原理做的时候还是拖....
要不断深入
想不用拖开发 可以试试MVC
全部自己敲 智能提示差 完全可以满足你不拖的愿望

[解决办法]
mvc3 + jquery 在vs2010下用起来挺舒服的

主要是asp.net那些控件有些overhead,当有很多服务器段控件在一个页面就更明显了,这时候你就要做些优化,disable viewstate什么的。
[解决办法]
asp.net问题跟拖不拖控件没有关系。

你见过使用 Blend 来开发RIA的方法吗?看看各种 Blend 教程!

asp.net问题,在于各种非常细节的操作都要回到服务器上去处理,哪怕仅仅将一行数据从浏览状态改为编辑状态也一定要到服务器上去重新生成html。这就与早在3、4年前就非常流行的Ajax完全脱节了。尽管UpdatePanel很方便,但是它不是轻量级的Ajax,完全没有脱离原来的模式。而asp.net ajax toolkit系列控件倒是比较符合轻量级ajax的开发理念,但是开发起来比较复杂,现在asp.net程序员门槛低得连以前asp程序员的水平都不如,怎么可能去学会开发asp.net ajax toolkit控件?

其实不仅仅asp.net,其它基于服务器的web开发模式全都一样面临淘汰。所以你说的并不是拖不拖控件的问题,而是这种web程序架构整体出问题了。
[解决办法]
如果你注意了那些需要更新客户端的东西可以用javascript或者RIA做的,就不要去访问服务器,那么原来的asp.net知识一点也没有影响你啊?!

你用javascript来替代一些界面操作就行了。asp.net 一点也没有阻止你去使用 javascript 编程,没有阻止你去使用 jquery 或者 asp.net ajax toolkit。你完全可以“拖控件”来产生界面,但是不回发(即不注册任何后台事件处理代码)。只不过,此时asp.net就略显臃肿多余了。
[解决办法]
个人认为:不让拖空间只是开发者不想去用服务器端的控件,因为这样的控件都要回发到服务器,一般为了减少服务器压力,所以都用HTML端的空间,因为服务器控件在运行后还是要转成HTML控件。
[解决办法]
不用控件,通过AJAX等实现数据的维护
也可使用asp.net mvc
直接用模板替换或者通过Response.Write的方式
就不会有ViewState代码
[解决办法]
全部使用html
ajax获取数据
最终还是HTML css js
控件能提高开发速度、降低开发复杂性
[解决办法]
请使用MVC。其实这个主要还是看应用领域,如果是内部使用的系统,拖拖控件又如何?只要能提高生产力。
[解决办法]
全部使用html
ajax获取数据
最终还是HTML css js
控件能提高开发速度、降低开发复杂性 14楼的说的相当正确的 因为大型网站要考虑更高的性能!
[解决办法]
要知道侧重点

所谓的拖控件(服务器控件),侧重点是在于办公系统,比如OA、CRM、MIS等。要实现的是数据的维护,即添加、修改数据。

而网站的侧重点是显示数据。一半以上的功能是如何把数据显示出来。

显示数据用for循环就可以,这个是最好的办法。没有必要用Repeater这类的控件了。

网站里也有添加数据,这个比重比较少,不是每个页都有的,可以用iframe、ajax、form表单(非runat=“server”的) 等方式实现。这样在页面里就看不到你说的代码了。


分析问题要分成几个部分,几个方面,不要混在一起。







[解决办法]

探讨
拖放的确方便

懂得机理的喜欢拖放
一点也不懂的只会拖放

就是那些中间地带的比较可怜,
用拖放吧, 显得没水平,
不用吧, 又干不成活.

[解决办法]
前台展示端完全可以用 js去做,

你去看看微软的网站,有用.net控件的吗? 都是js去实现前台的。。。

.net控件只是微软为了占领市场,推向.net爱好者的,并不适合开发。

如果为了开发而把.net大部分特性给禁用,完全模拟html控件,那就没必要了,不如直接使用html控件。

现在 asp.net mvc 就是微软在web开发中 转了个大圈又回到开始的位置。

--------------------------

做web开发,js必须强悍。。。必须能用js完成展示端的开发。 不然好的公司不会要你。
[解决办法]
用服器端控件最生成的是HTML的元素,但中他回到服器端行理而已。
量使用JS操控DOM,你在保存用上省事很多。不用每次都刷新面。
[解决办法]
探讨
拖放的确方便

懂得机理的喜欢拖放
一点也不懂的只会拖放

就是那些中间地带的比较可怜,
用拖放吧, 显得没水平,
不用吧, 又干不成活.

[解决办法]
看这代码明显是在用ajax做异步,这跟拖不拖控件没关系啊!如果你想对。net的控件做自定义那是另一回事!
[解决办法]
我就纳闷了,拖控件这么乐?拖控件丢人了么?
干嘛这么排斥拖控件。管你用什么技术,什么框架,什么设计模式
能给老板做出东西,那才是王道。
你想js+css去写,写个半死还出不来效果,搞得自己也很痛苦。老板不会因为
你是用js+css什么的而多给你时间,凡是都是在出效果的基础下来的

如果用不了脱控件,那vs就把这这功能下了吧。
[解决办法]
探讨
拖放的确方便

懂得机理的喜欢拖放
一点也不懂的只会拖放

就是那些中间地带的比较可怜,
用拖放吧, 显得没水平,
不用吧, 又干不成活.

读书人网 >asp.net

热点推荐