请问为什么我的FORM标签中一旦有了runat=server那么即使设置了action的地址提交了还是转到当前网页,不会转到action里的网页,还有就是如果用web窗体控件为什么在form里必须有runat=server属性,那么是不是要是要做一个提交页就不能在页中放入任何的web窗体控件只能放入html控件?请高手解答,小生不胜感激

解决方案 »

  1.   

    runat=server表示控件在服务端运行。
    WebControl要优于HtmlControl,一般WebControl和HtmlControl默认者有:runat=server的。
      

  2.   

    WebControl,HtmlControl都一样看你喜欢用什么了!做项目多了,就悟出来了!
      

  3.   

    htmlForm根本不理会你写的Action,它会产生它自己的Action输出到客户端。asp.net页面时回发,然后再后台server.transfer到其它页面的。你要不使用htmlForm,就没必要在项目中选择“添加WEB窗体”,添加页面的时候选择HTML页面就可以了。
      

  4.   

    asp.net是页面回发,“页面中客户端操作与它的处理代码都写在同一页面上”这种比较一致的代码风格,然后如果确实需要,在后台事件中可以根据需要酌情转向其它页面的(server.transfer)。
      

  5.   

    试想一下,如果htmlForm根据你写的action转向其它页面,那么ide相关的“双击自动创建或者查找代码”等一系列功能会经常出错,那么ide就变得非常难以使用和调试了。你手工处理很方便,但是vs.net就不是一个面向初中级程序员感觉好用的的ide了。