控件包含代码块(即 <% ... %>),因此无法修改控件集合

本文详细介绍了在Web开发过程中遇到的Repeater控件中使用代码块导致无法修改控件集合的问题,并提供了将相对路径应用于链接元素的解决方案,以避免异常发生。
一、错误提示:
控件包含代码块(即<% ... %>),因此无法修改控件集合。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Web.HttpException: 控件包含代码块(即 <% ... %> ),因此无法修改控件集合。 二、错误地方
  Repeater控件中加入判断语句出现了问题 <a href='<%=Page.ResolveClientUrl("~/")%>FreeStudy/Course/CourseSet.aspx?CourseID=<%# Eval("CourseID")%>' class="btnSubmit" target="_blank" >开始学习</a> 后台代码:
    int i = 1;
    protected void rpCourses_ItemDataBound(object src, RepeaterItemEventArgs e) {
        if (i % 2 == 0) {
            e.Item.Controls.Add(new LiteralControl("</tr><tr>"));
        }
        i++;
    }
以上代码执行的时候,将会产生该错误。由于Repeater控件中包含了代码块(即<% ... %>),无法修改控件集合,所以当执行语句 e.Item.Controls.Add(new LiteralControl(""));
时会产生错误。 三、解决方法 采用相对路径:<a href='http://www.cnblogs.com/../FreeStudy/Course/CourseSet.aspx?CourseID=<%# Eval("CourseID")%>' class="btnSubmit" target="_blank" >开始学习</a>
posted @ 2011-06-21 17:09 dodo-yufan 阅读(...) 评论(...) 编辑 收藏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值