部类“Button”的控件“Button2”必须放在具有 runat=server 的窗体标记内
类型“Button”的控件“Button2”必须放在具有 runatserver 的窗体标记内问题如题,内容如下:div iddiv1 r
类型“Button”的控件“Button2”必须放在具有 runat=server 的窗体标记内
问题如题,内容如下:
<div id="div1" runat="server" style="height: 444px;width:444px; background-color: #008000;" visible="false">
<asp:Button ID="Button1" runat="server" Text="Button1" onclick="Button1_Click" />
</div>
<div id="div2" runat="server" style="background-color: #808000; width: 100px; height: 100px">
<asp:Button ID="Button2" runat="server" Text="Button" />问题就在这里 </div>
我把Button控件换成Label就不会提示问题了,网上有些答案是加Form,但是我想知道这是为什么?
[最优解释]因为Button是回发控件,所有需要回发的控件都必须放在form runat="server"标记内。
[其他解释]表单提交,div放在<form id="form1" runat="server">里
[其他解释]类型“Button”的控件“Button2”必须放在具有 runat=server 的窗体标记内
[其他解释]楼主别纠结啦,Button 是会向服务器回发的,必须放在runat='server'标记的form 里,这是.net 的规定
[其他解释]我把这两个Div都放在Form里面了,这样可以行了,但是那我第一个Button放在Div1里面了就没有问题啊,这个是咋回事呢?
[其他解释]楼上已经说的很清楚了!+1
[其他解释]因为你的Div1设置了visible="false"
[其他解释]我的DIV2设置visible=true时还是有问题啊
[其他解释]好吧,我记着这个吧,
[其他解释]就是因为你设置了为true才会报错啊,你要是把div1里面的visible也设为true,button1也会出错的,就是说你一定要记住Button 是会向服务器回发的,必须放在runat='server'标记的form 里