日期:2014-05-18  浏览次数:20455 次

请教“服务器控件必须放在runat=server的窗体”的问题
小弟遇到这样的问题
在一个aspx页面文件中,用了多个form,目的是执行javascript程序,把整个body     的form标记去掉了,页面可以正常运行,但是当我引用一个自定义控件(控件中包含服务器控件)时,会报错(提示自定义控件中的服务器控件必须包含在runat=server的窗体中),可是在aspx页面中还有其他的服务器控件中(datagride,label),小弟用的是.net   2003.分数不多,谢谢

------解决方案--------------------
只能说明一点-你的自定义控件标签没放在form内 你仔细看看外层标签
另:aspx页面不建议使用多个form
------解决方案--------------------
不明白为什么要使用多个Form
------解决方案--------------------
检查自定义组件的 呈现 方法.
是否存在错误标签输出..
------解决方案--------------------
如果使用服务器端控件的话,控件的属性只要有runat= 'server ',就必须将该控件放在 <form runat= "server "> 中。除非只使用HTML标签
------解决方案--------------------
这个是必须的。一个FROM可以了。
------解决方案--------------------
用服务器端的控件,必须放在runat=server标记的窗体里.
一般情况下,一个窗体只有一个form把runat=server都放在form里 <form runat= "server ">

------解决方案--------------------
在一个aspx页面文件中,应该是不允许多个Form的存在的,可以你是从asp页面时代过来的。
就算你在编译是不会报错,但控件的服务器端事件也会也许问题,一般是不能触发事件.应避免或不使用多Form.否则会出现非预料性的错误
------解决方案--------------------
//*****asp.net 把控件做为服务器按钮应用,必须放在 <form runat=server> </form> 里面哈.
------解决方案--------------------
页面是可以使用多个 FORM 的,但是 FORM 不允许嵌套。
而且好像一个页面中,只允许有一个 runat= "server " 的 FORM 存在。

------解决方案--------------------
这家伙应该是 asp 过来的,哈哈哈哈