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

一、错误提示:
控件包含代码块(即<% ... %>),因此无法修改控件集合。
说明: 执行当前 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  阅读(2227)  评论(0编辑  收藏  举报