我试图显示页面搜寻器索引的结果,结果很好,但是问题是,当我尝试显示内容值为空时,我在类中使用OnHtmlToPlainText方法来过滤内容。 这是转换的代码
<div class="content">
<%#SearchHighlight(HTMLHelper.HTMLEncode(TextHelper.LimitLength(HttpUtility.HtmlDecode(HTMLHelper.StripTags(CMS.Base.Web.UI.ControlsHelper.RemoveDynamicControls(GetSearchedContent(DataHelper.GetNotEmpty(Eval("CONTENT"), ""))), false, true, " ", "@", "")), 280, "...")), "<span style='background-color: #FEFF8F'>", "</span>")%><br />
</div><!-- content -->
这是后端代码
public class CustomSearchCrawlerModule : CMS.DataEngine.Module
{
private void OnGetPageContent(object sender, DocumentSearchEventArgs e)
{
SearchField sf=new SearchField();
sf.FieldName = "CONTENT";
sf.Value = e.Content;
string content = e.Content;
e.SearchDocument.AddSearchField(sf);
}
}
任何建议,请
答案 0 :(得分:0)
我检查了您的代码以获取模板,对我来说效果很好。无需为内容添加新字段,因为该字段已经存在,除非您在那里有一些自定义逻辑。如果有,也许您应该首先检查该逻辑。这可能导致e.Content已经为空字符串。您也可以尝试使用以下语法:
e.SearchDocument.Add("CONTENT", e.Content, true, true);