有做.net的吗?听很多人说做.net不用控件。
那么我的疑问出来了。在我看来.net之所以实现代码分离,就是提供了控件。在cs文件中通过程序设置aspx页面中控件的属性来实现代码分离。假如没有控件。那么怎么控制aspx页面的显示。
下面举个例子:比如要在一个页面中列出存放在数据库中所有的新闻标题,如果用到.net中的datagrid控件的话,那么是一件非常方便的事。只要在cs中获取数据源再和页面中的datagrid控件一下就可以了。再设置一下datagrid属性就可以了。这是用到控件的情况。如果不用控件那该如何实现这个功能。真心求教,请朋友们帮忙解答一下!还有.net中如何实现自定义标签,最好能详细点,谢谢!

解决方案 »

  1.   

    听很多人说做.net不用控件。
    那使用什么啊?是不是lz你误解了他们的意思啊?
      

  2.   

    不用控件,又要面向对象地达到asp.net控件的接口显露的功能和类似的操作,就要自己写一套控件!于其自己写,不如用asp.net的。另外,大多数DataSourceControl控件都有数据缓存功能。asp.net控件如果复杂了,还应该使用片断缓存方法对控件也进行缓存。片断缓存应该设置为只有数据修改了才真正创建内部子控件,当数据没有修改的时候asp.net会拿出以前的html输出。SqlDependency可以按照表更新来使缓存刷新,自定义的机制可以做到依据单独对象的数据库版本(例如来源于记录时间戳)来更新。例如当前这个csdn帖子页面中,如果是aspx写的,那么除了底部提交文字部分,其它部分的组件都应该自动缓存,并且在所有页面间共享缓存,会比无缓存的页面产生速度至少快20倍。
      

  3.   

    1。借用.NET框架开发ASP程序(时代后退后退)
    2。使用__dopostback()方法来实现,这正是.NET实现代码隐藏的调用方法。
      

  4.   

    可以用WinForm的编程做个比较。WinForm窗体界面在更新、移动、例如在选项卡内切换的时候,如果频繁矢量刷新是无法看的,窗体将屏幕保存成二进制的内容放入缓存。可惜WebForm编程的教材没有几个对缓存作了深入的研究和扩展,好像webForm就应该那样缓慢地装载一样,造成很多写html或者asp的人有借口责难asp.net程序。
      

  5.   

    还有.net中如何实现自定义标签,最好能详细点,谢谢!
    ——————————————————————————————————————
    这个可以看:HtmlGenericConrol(string tag)
    LiteralControl(string html)等简单控件。
      

  6.   

    听说不使用.net控件的原因是.net控件需要占用服务器的许多资源。为性能考虑。
      

  7.   

    对于快速开发来说,当然是用控件最好,比如那些内部使用的cms系统
    但是如果要求灵活性,主要是显示的灵活性,对使用的控件就必须有选择了
    比如用repeater来代替datagrid,代价是自己实现分页
    .net最强大的应该还是它的类库,比如现在很多项目都是前台html页面利用ajax向服务器请求
    显示自己用js实现。