detailsclient.asp

来自「Windows Web脚本开发指南/(美) Dan Heflin, Todd N」· ASP 代码 · 共 82 行

ASP
82
字号
<%@ LANGUAGE=JavaScript %>
<%
var view = Request.QueryString("view");
function getXMLPath(){
  if (view == "Detail")
    return "buildTimesheet.asp?" + Request.QueryString;
  else
    return "buildTimesheetSummary.asp?" + Request.QueryString;
}
function buildTitle(){
  if (view == "Summary")
    return "<B>Summary By Name, Start Date, Client</B><BR><BR>";
}
function getXSLMatch(){
  if (view == "Detail")
    return  "timeSheetGroup";
  else
    return "timeSheetList";
}
function buildSortItems(){
  if (view == "Summary"){
    var sortHTML = "<select ID='cmbOptions'>";
    sortHTML += "<option value='@createdBy'>Name</option>";
    sortHTML += "<option value='@clientID'>Client</option>";
    sortHTML += "<option value='-@startInt' selected>Start Date</option>";
    sortHTML += "<option value='@duration'>Hours</option>";
    sortHTML += "</select><input type='button' onClick='sortList()' value='Sort'><BR><BR>";
    return sortHTML;
  }
}
%>
<html>
<title>Name</title>
</head>
<script langauge="JavaScript">
function initialize(){
  xmlDoc.async = false;
  xslDoc.async = false;

  xmlDoc.load("<%=getXMLPath() %>");
  xslDoc.load("timesheet.xsl");
  results.innerHTML = getTimesheetData();
}

function getTimesheetData(){
  if (xmlDoc.documentElement == null || xmlDoc.documentElement.childNodes.length == 0)
    return "There isn't any matching data.";
  else{
    var xslNode = xslDoc.selectSingleNode("//xsl:template[@match='<%=getXSLMatch()%>']");
    var results = xmlDoc.documentElement.transformNode(xslNode);
    return results;
  }
}
function getSelectedListValue(list){
	var selected;
	var key;

	selected = list.options.selectedIndex;
	if (selected == -1) 
		key = -1;
	else
		key = list.options[selected].value; 

	return key;
}
function sortList(){
  var orderBy = getSelectedListValue(cmbOptions); 
  var forEachNode = xslDoc.selectSingleNode("//xsl:for-each[@select='timeSheetSummary']");
  forEachNode.setAttribute("order-by", orderBy);
  results.innerHTML = getTimesheetData();
}
</script>

<xml ID="xmlDoc"></xml>
<xml ID="xslDoc"></xml>
<body onLoad="initialize()">
<%=buildTitle()%>
<%=buildSortItems()%>
<div ID="results">
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?