📄 search.cs
字号:
}
if (specialid > 0)
{
SpecialInfo specialInfoById = Special.GetSpecialInfoById(specialid);
if (!specialInfoById.IsNull)
{
if (!string.IsNullOrEmpty(specialInfoById.SearchTemplatePath))
{
return specialInfoById.SearchTemplatePath;
}
DynamicPage.WriteErrMsg("没有设置专题模板!", "Special.aspx");
return str;
}
DynamicPage.WriteErrMsg("找不到指定的专题!", "Special.aspx");
return str;
}
DynamicPage.WriteErrMsg("没有设置任何专题模板!", "Special.aspx");
return str;
}
private string GetTemplateFile(int modelId)
{
string str = "";
ModelInfo cacheModelById = ModelManager.GetCacheModelById(modelId);
if (!cacheModelById.IsNull)
{
if (!string.IsNullOrEmpty(cacheModelById.SearchTemplate))
{
return cacheModelById.SearchTemplate;
}
DynamicPage.WriteErrMsg("指定的模型未设置模板!");
return str;
}
DynamicPage.WriteErrMsg("找不到指定的模型!");
return str;
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
}
protected override void Render(HtmlTextWriter writer)
{
TemplateInfo templateInfo = new TemplateInfo();
int num = BasePage.RequestInt32("searchtype");
string modelname = DataSecurity.FilterBadChar(BasePage.RequestString("ModuleName"));
string str2 = DataSecurity.FilterBadChar(base.Request.QueryString["keyword"]);
int modelId = BasePage.RequestInt32("ModelId");
string templatePath = "";
NameValueCollection newQuerysString = new NameValueCollection();
switch (num)
{
case 0:
newQuerysString.Add("keyword", str2);
if (!string.IsNullOrEmpty(str2))
{
this.SaveKeyword(str2);
}
templatePath = base.TemplatePath;
break;
case 1:
{
newQuerysString.Add("nodeid", DataConverter.CLng(base.Request.QueryString["nodeid"]).ToString());
string str4 = DataSecurity.FilterBadChar(base.Request.QueryString["fieldoption"]);
newQuerysString.Add("fieldoption", str4);
if ((str4 == "keyword") && !string.IsNullOrEmpty(str2))
{
this.SaveKeyword(str2);
}
newQuerysString.Add("keyword", str2);
templatePath = this.GetTemplateFile(modelId);
break;
}
case 2:
if (BasePage.RequestInt32("showtype") != 1)
{
templatePath = this.GetAdvanceTemplateForm(modelId);
break;
}
newQuerysString = this.GetNewQuerysString(modelname, str2);
templatePath = this.GetAdvanceTemplateFile(modelId);
break;
case 3:
{
string[] strArray = DataSecurity.FilterBadChar(base.Request.QueryString["specialid"]).Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
int specialid = DataConverter.CLng(strArray[1]);
int specialcategoryid = DataConverter.CLng(strArray[0]);
newQuerysString.Add("specialid", specialid.ToString());
newQuerysString.Add("specialcategoryid", specialcategoryid.ToString());
string str6 = DataSecurity.FilterBadChar(base.Request.QueryString["fieldoption"]);
newQuerysString.Add("fieldoption", str6);
if ((str6 == "keyword") && !string.IsNullOrEmpty(str2))
{
this.SaveKeyword(str2);
}
newQuerysString.Add("keyword", str2);
templatePath = this.GetSpecialTemplate(specialid, specialcategoryid);
break;
}
default:
newQuerysString.Add("keyword", str2);
if (!string.IsNullOrEmpty(str2))
{
this.SaveKeyword(str2);
}
templatePath = base.TemplatePath;
break;
}
if (!string.IsNullOrEmpty(templatePath))
{
templateInfo.QueryList = newQuerysString;
templateInfo.PageName = DynamicPage.RebuildPageName(base.Request.Url.LocalPath, base.Request.QueryString);
templateInfo.TemplateContent = Template.GetTemplateContent(templatePath);
templateInfo.RootPath = HttpContext.Current.Request.PhysicalApplicationPath;
templateInfo.CurrentPage = DataConverter.CLng(base.Request.QueryString["page"], 1);
templateInfo.IsDynamicPage = true;
templateInfo.PageType = 1;
templateInfo = TemplateTransform.GetHtml(templateInfo);
writer.Write(templateInfo.TemplateContent);
}
else
{
DynamicPage.WriteErrMsg("全站搜索结果页未设置模板!", "Default.aspx");
}
}
private void SaveKeyword(string keyword)
{
if (Keywords.Exists(keyword))
{
Keywords.UpdateHitsByKeywordName(keyword);
}
else
{
KeywordInfo keywordInfo = new KeywordInfo();
keywordInfo.KeywordText = keyword;
keywordInfo.KeywordType = 1;
keywordInfo.LastUseTime = DateTime.Now;
keywordInfo.Priority = 0;
keywordInfo.Hits = 1;
keywordInfo.ArrayGeneralId = "0";
keywordInfo.QuoteTimes = 0;
Keywords.Add(keywordInfo);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -