C# 如何:将html代码更改为方法值?

C# 如何:将html代码更改为方法值?,c#,html,C#,Html,我在c#类库(.dll)中编写了一个非常简单的类。此代码创建一个html文件并将其返回到字符串。 代替:NUMBER我想更改它并从此方法添加int-NUMBER public class Class1 { public string HTMLTable(int number) { string html = "<p>NUMBER</p>"; var xDocument = new XDocument(

我在c#类库(.dll)中编写了一个非常简单的类。此代码创建一个html文件并将其返回到字符串。 代替:
NUMBER

我想更改它并从此方法添加int-NUMBER

    public class Class1
{
    public string HTMLTable(int number)
    {
        string html = "<p>NUMBER</p>";

        var xDocument = new XDocument(
            new XDocumentType("html", null, null, null),
            new XElement("html",
                new XElement("head"),
                new XElement("body",
                        XElement.Parse(html))
                    )
                )
           )
        );

        var settings = new XmlWriterSettings
        {
            OmitXmlDeclaration = true,
            Indent = true,
            IndentChars = "\t"
        };

        using (var sw = new StringWriter())
        {
            using (var writer = XmlWriter.Create(sw, settings))
            {
                xDocument.WriteTo(writer);
            }

            return sw.ToString();
        }
    }
}
公共类1
{
公共字符串HTMLTable(整数)
{
字符串html=“NUMBER

”; var xDocument=新xDocument( 新的XDocumentType(“html”,null,null,null), 新的XElement(“html”, 新XElement(“head”), 新XElement(“身体”, 解析(html)) ) ) ) ); var设置=新的XmlWriterSettings { OmitXmlDeclaration=true, 缩进=真, IndentChars=“\t” }; 使用(var sw=new StringWriter()) { 使用(var writer=XmlWriter.Create(sw,设置)) { xDocument.WriteTo(writer); } 返回sw.ToString(); } } }
您可以使用字符串插值

var html = $"<p>{number}</p>";
var html=$”{number}

”;
更新:或者,对于不想使用更好的字符串插值的人,您可以这样做:

var html = string.Format("<p>{0}</p>", number);
var html=string.Format(“{0}

”,数字);
你想要那样的东西吗

string.Format("<p>{0}</p>", number);
string.Format(“{0}

”,数字);

另外,我建议您使用
HtmlAgilityPack
来解析和处理HTML。这是一个非常强大的图书馆。您可以在上找到它。

如果您有多个部件需要更改,最好的选择是


重要的是要认识到
html
只是一个字符串,而不是html。所以你的问题是如何用其他东西替换字符串的一部分,或者,如何定义包含参数的字符串。好的,但对我来说生成htmlI非常重要。我只是说你的替换可以在字符串上完成,正如@AdamBrown的回答所示。您不需要替换html中的任何内容。
using RazorEngine;
using RazorEngine.Templating; // For extension methods.

var template = "<html><body>Hello @Model.Number, welcome to RazorEngine!</body></html>";
var result = Engine.Razor.RunCompile(template, "templateKey", null, new { Number = 10 });
PM> Install-Package RazorEngine -Version 3.10.0