mirror of
https://github.com/berkeleydb/libdb.git
synced 2024-11-16 17:16:25 +00:00
102 lines
3.8 KiB
Text
102 lines
3.8 KiB
Text
<%@ Page Language="C#" EnableViewState="False" %>
|
|
|
|
<script runat="server">
|
|
//=============================================================================
|
|
// System : Sandcastle Help File Builder
|
|
// File : LoadIndexKeywords.aspx
|
|
// Author : Eric Woodruff (Eric@EWoodruff.us) from code by Ferdinand Prantl
|
|
// Updated : 04/01/2008
|
|
// Note : Copyright 2008, Eric Woodruff, All rights reserved
|
|
// Compiler: Microsoft C#
|
|
//
|
|
// This file contains the code used to search for keywords within the help
|
|
// topics using the full-text index files created by the help file builder.
|
|
//
|
|
// This code is published under the Microsoft Public License (Ms-PL). A copy
|
|
// of the license should be distributed with the code. It can also be found
|
|
// at the project website: http://SHFB.CodePlex.com. This notice, the
|
|
// author's name, and all copyright notices must remain intact in all
|
|
// applications, documentation, and source files.
|
|
//
|
|
// Version Date Who Comments
|
|
// ============================================================================
|
|
// 1.6.0.7 04/01/2008 EFW Created the code
|
|
//=============================================================================
|
|
|
|
/// <summary>
|
|
/// Render the keyword index
|
|
/// </summary>
|
|
/// <param name="writer">The writer to which the results are written</param>
|
|
protected override void Render(HtmlTextWriter writer)
|
|
{
|
|
XmlDocument ki;
|
|
XmlNode root, node;
|
|
StringBuilder sb = new StringBuilder(10240);
|
|
int startIndex = 0, endIndex;
|
|
string url, target;
|
|
|
|
ki = new XmlDocument();
|
|
ki.Load(Server.MapPath("WebKI.xml"));
|
|
root = ki.SelectSingleNode("HelpKI");
|
|
|
|
if(Request.QueryString["StartIndex"] != null)
|
|
startIndex = Convert.ToInt32(Request.QueryString["StartIndex"]) * 128;
|
|
|
|
endIndex = startIndex + 128;
|
|
|
|
if(endIndex > root.ChildNodes.Count)
|
|
endIndex = root.ChildNodes.Count;
|
|
|
|
if(startIndex > 0)
|
|
{
|
|
sb.Append("<div class=\"IndexItem\">\r\n" +
|
|
"<span> </span><a class=\"UnselectedNode\" " +
|
|
"onclick=\"javascript: return ChangeIndexPage(-1);\" " +
|
|
"href=\"#\"><b><< Previous page</b></a>\r\n</div>\r\n");
|
|
}
|
|
|
|
while(startIndex < endIndex)
|
|
{
|
|
node = root.ChildNodes[startIndex];
|
|
|
|
if(node.Attributes["Url"] == null)
|
|
{
|
|
url = "#";
|
|
target = String.Empty;
|
|
}
|
|
else
|
|
{
|
|
url = node.Attributes["Url"].Value;
|
|
target = " target=\"TopicContent\"";
|
|
}
|
|
|
|
sb.AppendFormat("<div class=\"IndexItem\">\r\n" +
|
|
"<span> </span><a class=\"UnselectedNode\" " +
|
|
"onclick=\"javascript: return SelectIndexNode(this);\" " +
|
|
"href=\"{0}\"{1}>{2}</a>\r\n", url, target,
|
|
HttpUtility.HtmlEncode(node.Attributes["Title"].Value));
|
|
|
|
if(node.ChildNodes.Count != 0)
|
|
foreach(XmlNode subNode in node.ChildNodes)
|
|
sb.AppendFormat("<div class=\"IndexSubItem\">\r\n" +
|
|
"<img src=\"Item.gif\"/><a class=\"UnselectedNode\" " +
|
|
"onclick=\"javascript: return SelectIndexNode(this);\" " +
|
|
"href=\"{0}\" target=\"TopicContent\">{1}</a>\r\n</div>\r\n",
|
|
subNode.Attributes["Url"].Value,
|
|
HttpUtility.HtmlEncode(subNode.Attributes["Title"].Value));
|
|
|
|
sb.Append("</div>\r\n");
|
|
|
|
startIndex++;
|
|
}
|
|
|
|
if(startIndex < root.ChildNodes.Count)
|
|
sb.Append("<div class=\"IndexItem\">\r\n" +
|
|
"<span> </span><a class=\"UnselectedNode\" " +
|
|
"onclick=\"javascript: return ChangeIndexPage(1);\" " +
|
|
"href=\"#\"><b>Next page >></b></a>\r\n</div>\r\n");
|
|
|
|
writer.Write(sb.ToString());
|
|
}
|
|
|
|
</script>
|