当前位置: 代码迷 >> ASP.NET >> 部类“Button”的控件“Button2”必须放在具有 runat=server 的窗体标记内
  详细解决方案

部类“Button”的控件“Button2”必须放在具有 runat=server 的窗体标记内

热度:7118   发布时间:2013-02-25 00:00:00.0
类型“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
------其他解决方案--------------------------------------------------------
引用:
我把这两个Div都放在Form里面了,这样可以行了,但是那我第一个Button放在Div1里面了就没有问题啊,这个是咋回事呢?


因为你的Div1设置了visible="false"
------其他解决方案--------------------------------------------------------
引用:
引用:
我把这两个Div都放在Form里面了,这样可以行了,但是那我第一个Button放在Div1里面了就没有问题啊,这个是咋回事呢?

因为你的Div1设置了visible="false"

我的DIV2设置visible=true时还是有问题啊
------其他解决方案--------------------------------------------------------
好吧,我记着这个吧,
------其他解决方案--------------------------------------------------------
引用:
引用:
引用:
我把这两个Div都放在Form里面了,这样可以行了,但是那我第一个Button放在Div1里面了就没有问题啊,这个是咋回事呢?

因为你的Div1设置了visible="false"
我的DIV2设置visible=true时还是有问题啊


就是因为你设置了为true才会报错啊,你要是把div1里面的visible也设为true,button1也会出错的,就是说你一定要记住Button 是会向服务器回发的,必须放在runat='server'标记的form 里
  相关解决方案