如何在c#中格式化html字符串?

如何在c#中格式化html字符串?,c#,html,asp.net-mvc,C#,Html,Asp.net Mvc,我想在ASP.net中创建html帮助程序。创建Html字符串/模板的最简单方法是什么。我希望通过以下方式创建html块: <div class="simple"> <span>Text</span> </div> 正文 因此,我不想将所有引号从双引号改写为单引号,如下所示: <div class='simple'></div> 在更大的html代码中,这是不舒服的。那么C#是否有机会/语法像HTML一样

我想在ASP.net中创建html帮助程序。创建Html字符串/模板的最简单方法是什么。我希望通过以下方式创建html块:

<div class="simple">
   <span>Text</span>
</div>

正文
因此,我不想将所有引号从双引号改写为单引号,如下所示:

 <div class='simple'></div>

在更大的html代码中,这是不舒服的。那么C#是否有机会/语法像HTML一样处理它呢

例如,在ES6中,您可以使用:

`<div class="simple"></div>`
``
因此,如果可以用C语言编写,那就太好了。

A
在文本字符串中可以写成
\”

例如

string s=”“;
产生

<div class="simple"></div>

关键是转义引号,使其在字符串中有效

然后,根据html代码块构建字符串的复杂程度,可以使用一种简单的方法,也可以使用多种其他方法

using System;
namespace MvcApplication.Helpers
{
    public class TagHelper
    {
        public static string DivWithChild(this HtmlHelper htmlHelper, className, string text)
        {
            return string.Format("<div class=\"{0}\"><span>{1}</span></div>",className,text);
        }
    }
}
使用系统;
命名空间mvcapapplication.Helpers
{
公共类TagHelper
{
公共静态字符串DivWithChild(此HtmlHelper HtmlHelper、类名、字符串文本)
{
返回string.Format(“{1}”,类名,文本);
}
}
}
请记住,任何未在页面上声明的帮助器方法都必须将名称空间添加到web配置中,以便您可以使用它们

 <system.web.webPages.razor>
    <namespaces>
        <!- add here.....  -->
        <add namespace="MvcApplication.Helpers.TagHelper"/>

      </namespaces>        
  </system.web.webPages.razor>

您可以使用逐字
@
启动字符串,并使用双
转义
,如下所示

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string html = @"
                <div class=""simple"">
                    < span > Text </ span >
                </ div > 
            ";

            Console.WriteLine(html);

        }
    }
}
使用系统;
名称空间控制台EAPP1
{
班级计划
{
静态void Main(字符串[]参数)
{
字符串html=@”
文本
";
Console.WriteLine(html);
}
}
}

< P> C不支持HTML/XML文本,但VB.NET确实如此。如果你对HTML代码段进行了大量的操作,你可以考虑在VB.NET模块/程序集中为它创建帮助程序,并从C代码中调用它们。参见.P/>你可以澄清你的问题,因为我不能理解你需要什么。你想转换属性的双引号吗?tes到单引号?如果你复制/粘贴HTML代码,你可以将其从双引号重写到单引号。在Javascript中,你不必这样做。只需将HTML放在引号中:```。那么,在c#中,复制/粘贴HTML的最佳方法是什么?为什么不执行“查找并全部替换”操作?或者你想以编程方式执行它?以编程方式执行。我只寻找这是最好的方法。
html.Replace(“,”)
using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string html = @"
                <div class=""simple"">
                    < span > Text </ span >
                </ div > 
            ";

            Console.WriteLine(html);

        }
    }
}