.net是企业内部网应用程序开发的利器,如果硬要拿去搞互联网上的应用,当然费力不讨好了。这两者开发的思路和技术手段很多都是截然不同的。尽管名字上也许都可以叫web程序开发。

解决方案 »

  1.   

    ---------------.Net是什么?......Bill GetS 也不知道......--------
    我所说的也不知道大家能不能明白.反正顺路看看吧.看不懂别扔石头就行了:)
    上面的没有排版好,Sorry!
    -------------------------------------------------------------------
    不闪的才是健康的:)  ->C#开发的隐痛  ->讨论问题,散分
    1.现象
    我用C#作的一个项目,用到的DropDownList服务器端控件要三级关联(点第一个,第二个根据第一个内容而变化,第三个根据第二个的内容变化).每点一次,IE窗口就要闪烁一下.我知道,这是由ASP程序的特性决定的.客户端每点一次列表框,服务器端程序都要执行一下,但客户端并不会自动刷新.所以需要服务器通知,客户端收到后只有刷新才能显示出来选择改变后的结果.但如果纯用客户端HTML控件Select就不会出现这样的现象.
    2.提示
    a.
    在C#的设计环境下输入的代码全是服务器端运行的代码.
    b.
    在C#的"Html设计环境下"理论上可以写客户端运行代码,但前提是页面上的控件必须是客户端控件.如果是这样,C#的"代码设计环境下"不能对该控件进行操作(请想一想,服务器代码怎么可以控制客户端的控件的行为?).
    更糟糕的是你想在Html代码里控制那些服务器端控件的属性(比如改变下拉框的选项等),得到的错误警告会让你疯掉.
    3.总结
    C#的"代码设计环境下"是不能写对客户端控件的操作代码的,在C#的"Html设计环境下"是不能写控制服务器端控件的代码的.
    换句话说,C#的"代码设计环境"和C#的"Html设计环境"虽然只有一墙之隔,但他们两个根本没有办法通用.你不能在两个环境下同时对某一个控件进行操作。这真的是很痛苦.天真的想法:
    1.仅仅把下拉框采用客户端HTML控件,其他控件仍采用服务器端控件.但实际上这样做会死的很惨.因为你的下拉框的程序要在Html里写,其他的在c#的设计环境下写.你也许会说这不是很好吗?哈哈.那么我问你:举个例子,如果我要保存一个Txt控件(Html客户端控件)和DropDown控件(服务器端控件),我要在哪个设计环境里面写代码呢?
    极端的想法:
    1.客户端全用javascript实现,界面用C#的HTML控件随便布置。这样C#的WEB开发有一个唯一的好处,就是"可视化了" :)
    2.或者全部用服务器端控件,这样子也会死的很难看.点一次列表框,页面就闪一次,滚动条跑到最上面(虽然这个问题解决了.最终还是靠客户端的Javascript语句,如果没有Javascript兄弟们的帮助,我相信我死的会很惨)。存在的问题不止这一个,本人也是初涉C#,观点难免有误解,不当之处,敬请指点.但这些确实是如鲠在喉,不吐不快,愿大家多提意见,本人学习学习再学习!
      

  2.   

    什么东东都各有利弊,asp.net有很强的服务器端处理能力,但是带来的问题是降低效率以及搂住所说的频闪问题,但是对于基于Web的东东本身而言这些问题也很难避免。还是由程序设计者来决定什么时候应该回发给服务器处理,什么时候用客户端脚本处理为好。
      

  3.   

    再顶一下,
    我做的是放在DataGrid中,然后,每一行都有一组。呵呵,ddl中有1K以上数据。页面受不了的。
    MS并未提供这方面 的支持,所以还是要JS,当然,有好的解决方法,告诉我一下啊、
      

  4.   

    哈哈,问题就着这里
    现在来看,在web页面实现交互不外乎两种情况,一种是通过服务器端脚本控制,这样的一个明显的坏处就是必须往回传递数据,而对于网页来说,往回传递数据,同时根据传递的数据来重新格式化页面这无疑是致命的,必须重新刷新页面
    另一种情况就是适当的通过js脚本进行控制,这样可以有效的防止页面刷新技术吗,总是越来越先进的
      

  5.   

    你两者结合为什么不行,C#你要充分利用它的优点。想想在ASp年代是怎么过的。
      

  6.   

    你说的不全对:
    实际都是可以解决的,就是麻烦一点!
    如果你把握好了ASP。NET的解决套路,就很简单了。
    我刚开始开发也碰到过这样的问题,现在基本上没有问题了!
      

  7.   

    lveight(哭丧脸骑士):
    你是怎么实现的呢,给兄弟们解释指点一下,不胜感激呀!
      

  8.   

    1,如果客户端数据少,完全可以把所有数据下载到客户端用js完成
    2。你可以再页面放一个iframe,再第一个select动作的时候,刷新iframe的页面,再iframe中用js控制别的select。is easy
      

  9.   

    smartnavigator可以解决部分搂住所提问题吧?
      

  10.   

    smartnavigator对浏览器有要求,用个隐藏的页刷新内容,然后更新,很常见的手段。