服务器控件之间不能随意的嵌套

菜鸟今天编写一个web网页,发现<table>标签一旦添加runat="server",就报错。上网找资料,一直没有看到合适的解释。

最后终于自己顿悟了,发现是自己服务器控件乱嵌套导致的问题,敲打。现将我的理解放在这里,提醒自己,警示后来者。

服务器控件之间不能随意的嵌套。
如:
<table runat=“server”>
<tr><td></td></tr>
<asp:Reapter runat="server">
<itemTemplate>
<tr><td></td></tr>
</itemTemplate>
</asp:Reapter>
<tr><td></td></tr>
</table>
会报异常,webcontrol.Reapter 不能转化为htmlcontrol.htmltablerow.

<asp:Reapter runat="server">
<headTemplate>
<table runat=“server”>
<tr><td></td></tr>
</headTemplate>
<itemTemplate>
<tr><td></td></tr>
</itemTemplate>
<footTemplate>
<tr><td></td></tr>
</table>
</footTemplate>
</asp:Reapter>
也会报异常,htmltable服务器控件,不能没有结束标记,实际也就是不能嵌套在reapter中。

将table中的runat="server"去掉,转为非服务器控件,以上两例就都正常了,可是就不能在后台控制table控件了。
对于如何后台控制table控件,我还在思考中,有了新的方法,会及时地更新的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值