xsl によって作成されたお問い合わせページがあります。そのページの送信ボタンは、同じく xsl によって作成されたサンキュー ページにリダイレクトされます。今、出力を として取得したいと思いますThank You <name i enter>
。はクエリ文字列として URL に渡されます。ページでどのようにアクセスできますか?request.getParameter(<parameter name>)
ここで使用できる xslのような同等のものはありますか?
前もって感謝します。
xsl によって作成されたお問い合わせページがあります。そのページの送信ボタンは、同じく xsl によって作成されたサンキュー ページにリダイレクトされます。今、出力を として取得したいと思いますThank You <name i enter>
。はクエリ文字列として URL に渡されます。ページでどのようにアクセスできますか?request.getParameter(<parameter name>)
ここで使用できる xslのような同等のものはありますか?
前もって感謝します。
クラスのQueryString
プロパティを使用しHttpRequest
ます。
このプロパティの使用方法の例(C#)を次に示します。
int loop1、loop2;
// Load NameValueCollection object.
NameValueCollection coll=Request.QueryString;
// Get names of all keys into a string array.
String[] arr1 = coll.AllKeys;
for (loop1 = 0; loop1 < arr1.Length; loop1++)
{
Response.Write("Key: " + Server.HtmlEncode(arr1[loop1]) + "<br>");
String[] arr2 = coll.GetValues(arr1[loop1]);
for (loop2 = 0; loop2 < arr2.Length; loop2++)
{
Response.Write("Value " + loop2 + ": " + Server.HtmlEncode(arr2[loop2]) + "<br>");
}
}
あなたの場合、必要な名前と値のペアが見つかったら、その値を取得し、それをパラメーターとしてXSLT変換に渡します。.NETでこれを行う1つの方法は、XsltArgumentList.AddParam()
メソッドを使用することです。
繰り返しますが、完全なC#の例を次に示します。
using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
public class Sample
{
public static void Main()
{
// Create the XslCompiledTransform and load the stylesheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("order.xsl");
// Create the XsltArgumentList.
XsltArgumentList xslArg = new XsltArgumentList();
// Create a parameter which represents the current date and time.
DateTime d = DateTime.Now;
xslArg.AddParam("date", "", d.ToString());
// Transform the file.
using (XmlWriter w = XmlWriter.Create("output.xml"))
{
xslt.Transform("order.xml", xslArg, w);
}
}
}
XSLT変換には、次のxsl:param
名前のグローバルが必要date
です。
<xsl:param name="date"/>
上記のコードは、このグローバルパラメータを目的の値に設定します。次に、XSLTコードで、パラメーターにとしてアクセスするだけです$date
。