Asp.net 在渲染之前从repeater中移除控件
在渲染我试图将repeater控件导出到excel之前,我想从repeater控件中删除隐藏的字段控件Asp.net 在渲染之前从repeater中移除控件,asp.net,Asp.net,在渲染我试图将repeater控件导出到excel之前,我想从repeater控件中删除隐藏的字段控件 StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); Repeater newrpt = (Repeater)Cache["Report"]; //remove hidden field from newrpt newrpt.RenderControl(htw); 这是我的密码
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
Repeater newrpt = (Repeater)Cache["Report"];
//remove hidden field from newrpt
newrpt.RenderControl(htw);
这是我的密码。我需要删除,因为我得到的错误是必须将类型为“HiddenField”的控件“ctl00”和“ContentPlaceholder 1”放置在runat=server的表单标记中。数据绑定后,您可以从ItemTemplate中删除任何控件
repeater.ItemDataBound += delegate(object sender, RepeaterItemEventArgs ev)
{
var hf = ev.Item.FindControl("hidSIId");
ev.Item.Controls.Remove(hf);
};
但我认为主要的问题是,您在模板控件上调用RenderControl,该控件必须放在表单控件中。您可以通过重写来解决此错误