2017-03-26 13 views
0

ASP.netでhtmlヘルパーを作成したいと思います。 HTMLの文字列/テンプレートを作成する最も簡単な方法は何ですか?私は、このようにHTMLのブロックを作成したいと思います:C#でHTML文字列を書式設定する方法は?

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

だから、私はこのように単一引用符を二重からのすべての引用符を書き換える必要はありません:

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

それは大きなではない快適ですhtmlコード。だから、HTMLのようにC#で処理する機会や構文があります。例えば

、ES6であなたがこれを使用することができます:それはC#で可能な場合

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

したがって、それは素晴らしいことでしょう。

+0

あなたが必要なものを理解できないため、質問を明確にしてください。属性の二重引用符を一重引用符に変換しますか? – CodingYoshi

+0

HTMLコードをコピー/ペーストすると、二重引用符から一重引用符に書き換えることができます。 Javascriptでは、これを行う必要はありません。 htmlを引用符で囲むだけです: ''。では、HTMLのコピー/貼り付けにはどのように最適ですか? – ktom

+0

なぜあなたはすべてを見つけて交換しないのですか?それともプログラムでやりたいのですか? – CodingYoshi

答えて

0

"のリテラル文字列は、\"と書くことができます。

など。

string s = "<div class=\"simple\"></div>"; 

重要なのは、それが文字列の中で有効になるように、引用符をエスケープすることです

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

を生成します。

次に、あなたのhtmlコードブロックは文字列を構築するのがいかに複雑応じて、他のアプローチの簡単なstring formatstring buildertag builderまたはnubmerを使用することができます。

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); 
     } 
    } 
} 

は、ページ上で宣言されていない任意のヘルパーメソッドは、あなたがそれらを使用することができないWeb構成に追加された名前空間を持っている必要がありますことを覚えておいてください。

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

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

あなたは、文字列を開始し、次のように二重の"""を逃れるためにそのまま@を使用することができます。

using System; 

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

      Console.WriteLine(html); 

     } 
    } 
} 

enter image description here

-1

C#がHTML/XMLリテラルをサポートしていませんが、VB.NETはありません。 HTMLスニペットをたくさん操作する場合は、VB.NETモジュール/アセンブリでヘルパーを作成し、C#コードからヘルパーを呼び出すことを検討することができます。 XML literalsを参照してください。

関連する問題