在Repeater的ItemDataBound中如下代码,没能高亮显示。为什么?
protected void ArticleRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (IsSearchMode)
{
DataRowView rowView = (DataRowView) e.Item.DataItem;
string subject = ((string) rowView["Subject"]).Trim();
string keyword = SubjectTextBox.Text.Trim();
subject = subject.Replace(keyword, "<span style='color:yellow'>" + keyword + "</span>");
rowView["Subject"] = subject;
e.Item.DataItem = rowView;
}
}
protected void ArticleRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (IsSearchMode)
{
DataRowView rowView = (DataRowView) e.Item.DataItem;
string subject = ((string) rowView["Subject"]).Trim();
string keyword = SubjectTextBox.Text.Trim();
subject = subject.Replace(keyword, "<span style='color:yellow'>" + keyword + "</span>");
rowView["Subject"] = subject;
e.Item.DataItem = rowView;
}
}
if(IsSearchMode){
foreach(DataRowView drv in dv){
//replace subject field
}
}
ArticleRepeater.DataSource=dv;or use findcontrol method to bind data on a webcontrol
(control)e.Findcontrol(controlid).Text=subject;