异常详细信息: System.Web.HttpException: 类型“CheckBox”的控件“dgNewsType__ctl3_chkNewsType”必须放在具有 runat=server 的窗体标记内。
可是有runat=server 啊,为什么啊?
要放到Form 的内面来,你肯定是把CheckBox放到外面了
<form>
   CheckBox......
</form>

解决方案 »

  1.   

    <form id="list" method="post" runat="server">
    <asp:DataGrid id="dgNewsType" runat="server"  AutoGenerateColumns="False">
    <Columns>
    <asp:BoundColumn HeaderText="编号" DataField="iId" />
    <asp:BoundColumn HeaderText="新闻类别" DataField="typeName" />
    <asp:TemplateColumn HeaderText="选择">
    <ItemTemplate>
    <asp:CheckBox id="chkNewsType" Runat=server Text=""></asp:CheckBox>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:DataGrid>
    </form>整个datagrid都得在form里面
      

  2.   

    将控件放进<form></form>之间就可以了,一开始新手都会遇到这样的问题
    ,(呵呵,我也是),还有按钮的id不要取保留字,比如submit等,不然会
    有意想不到的错误发生