1

私はxmlとxslファイルを持っています。ユーザーコントロールでxslを出力したいのですが、xslにいくつかのxslt引数を渡す必要があります。

string m= "page1"

したがって、この文字列はxslに渡される必要があります。

ユーザーコントロールの.csファイルにあるもの:

private readonly string XslFile = @"...\default.xslt";
private readonly string XmlFile = @"...\default.config";


private void Page_Load(object sender, System.EventArgs e)
{
    string m = "page_1";


        XmlDocument xdoc = new XmlDocument();
        xdoc.Load(XmlFile);

        XslTransform xsl = new XslTransform();
        xsl.Load(XslFile);

        XsltArgumentList xslarg = new XsltArgumentList();
        xslarg.AddParam("id", "", m);

        StringWriter sw = new StringWriter();
        xsl.Transform(xdoc, xslarg, sw);

        string result = sw.ToString().Replace("&lt;","<").Replace("&gt;",">");

        sw.Close();

        label1.text= result; // i have this label in .ascx file

}

xslファイルにもあります。xslまたはxmlファイルに問題はありません。どこが間違っているのかわかりません。または他のアプローチ、教えてください。このユーザーコントロールを非常に多くのページで実行したいので、このアプローチを使用しています。

4

1 に答える 1

2
string result = sw.ToString();
string encodedHtml = HttpUtility.HtmlEncode(result);

...

label1.Text = encodedHtml;

これがドキュメントです。

于 2012-06-22T14:39:43.420 に答える