1 ASP.NET饱受诟病的viewstatus为什么你还会拿来用?
(我做了一个JSF网页,查看源码,有一个很大的viewstatus字段)2 你创建了一个自定义的组件,把input的HTML控件包装起来,这本没有错,但我却不能随意增加自定义属性。(而好多AJAX框架都是需要这样的功能的)3 你不支持系统向下兼容性,我不能简单的将<input type="text">这样的描述升级为你的UI组件,(而ASP.NET 只需要加上一个runat=server即可。
希望这三个问题,哪位高手能指点一二。谢谢。

解决方案 »

  1.   

            jsf
      

  2.   

    如果要把 JSF 与 JSP 做比较那就没话可话了。JSF 是以事件为驱动的,与 JSP 的请求机制至少在表面上看来是完全不一样的。如果让一个做惯了 JSP 的人来上手 JSF 的话,光概念的转换就得很长的一段时间。JSF 是不允许在组件上乱加属性的,这好比使用 VB 画界面时,控件属性中不存在的属性你是不能进行设置的。JSF 的控件是可以扩展的,如果认为其本身的控件不好用,或者是达不到要求的话,完全可以进行扩展。在 JSF 中使用 Ajax 是一桩比较麻烦的事情,不过现在已经有了很多针对于 JSF 的页面框架,比如:ICEFaces, RichFaces, MyFaces 等等这些都是很优秀的 JSF 控件框架。我不知道为什么你那么喜欢拿 JSF 与 ASP.net 来进行比较,虽然 JSF 的机制可能是源于 ASP,但最终看来还是完全不同的东西,根本就没有什么可比性,我感觉上也没有什么好比较的。
      

  3.   

    JSF和ASP.NET的实战经验都几乎为0,但是IMHO,ASP.NET的控件实现方法才是最愚蠢的(我只用过VS2005以前版本)。
    比如你把<input type="text" onclick="test()" ondblick="foo()"/>升级为runat="server",貌似你的onclick/ondblclick就会出错,前者需要你改为onclientclick,而后者竟然没有直接的客户端版本,需要手工设置。
    你说的viewstate就是被更多菜鸟们严重误用,导致性能极端低下
      

  4.   

    谢谢7楼的回复我在ASP.NET从1.1一直做到现在的3.5,不知道实践经验能不能说成0.
     <input type="text" onclick="test()" ondblick="foo()" runat="server"/>我想你说的是
    <input type="button" onclic="test()" ondblclick="foo()" runat="server">是这个控件吧。
    为了验证7楼的话,我特地做了一个页面    <input type="button" onclick="test()" value="Click Me" runat="server" />
    我发现,加上runat="server"与没有加上,都不会影响代码的正常运行。
      <input name="ctl02" type="button" onclick="test()" value="Click Me" />