私は、Razor <text>
タグが書式設定の慣行を拒否していることに気付きました。 cshtml
文書をフォーマットするとき、例えば、私は次のようなコードで終わる:これはどちらかカミソリテンプレート関数に固有ではないことをRazorの書式設定<text>内容
@MyHelper.MyMethod(@<div>
<p>Hello world</p>
</div>)
@MyHelper.MyMethod(@<text>
<p>Hello world</p>
</text>)
注意、<text>
ブロックはどこでも同じことを行います。このよう<div>
として
クライアントのHTMLタグ(とその内容は)私はしかし、関係なく、私は(のかを削除)を追加するところの、タグ固有のオプションで<text>
要素を、指定した書式のスタイルに従ってください。 ..、効果はありません。所望の結果は、<text>
要素の内容が、前の例では<div>
要素の内容のように書式設定されていることになります。
他のブロックレベルのクライアントのHTML要素のような私が見てきた
(など<div>
、<section>
を、)<text>
要素に同じフォーマットスタイルを強制する任意のトリック、または回避策がありますhereやhereなどのRazor言語の書式設定の問題など、これは先例がないわけではないため、解決策がないようです。いずれにしても、誰かが修正を見つけた可能性があります。
これは、VS 2010で
補遺
を構築し、カミソリ2.Xのウェブサイトです(私はこれの疲れ成長してきました。)おそらく
この2012年に問題が解決されました。知らない、更新していない。ただし、<text>
ブロック、@
-prefixedブロックなどがあります。
別の例として、この時間@
-prefixedブロック(構築物およびそのよう)
@foreach (var foo in bar) {
<div>@(foo.A)</div>
<div>@(foo.B)</div>
@foreach (var qux in foo.C) {
<div>@(qux.D)</div>
<div>@(qux.E)</div>
}
}
は右、多かれ少なかれ正常に見えますか?そうです、残念ながら、実際には構文上無効です。外部ブロック(アウターforeach
)の中断のない範囲内で発生するため、内部foreach
の@
プレフィックスは許可されません。
解決策はありますか?内部foreach
から@
を省略してください。フォーマットするとどうなりますか?
@foreach (var foo in bar) {
<div>@(foo.A)</div>
<div>@(foo.B)</div>
foreach (var qux in foo.C) {
<div>@(qux.D)</div>
<div>@(qux.E)</div>
}
}
素晴らしい、内側のインデントを失った。 Poo。
これらのブロックについては、何かのために役立つはずですか?確かに、外側foreach
ブロックのコンテンツを<text>
ブロックにラップします。今、Razorに関する限り、@
- 内部のプレフィックスforeach
は構文的に有効です。 [OK]を
@foreach (var foo in bar) {
<text>
<div>@(foo.A)</div>
<div>@(foo.B)</div>
@foreach (var qux in foo.C) {
<div>@(qux.D)</div>
<div>@(qux.E)</div>
}
</text>
}
、罰金。しかし、これは動作している間、私の元の質問の問題を例示しています。 <text>
ブロックの内容がインデントに従っていません。なぜ我々だけ持つことができません。
@foreach (var foo in bar) {
<text>
<div>@(foo.A)</div>
<div>@(foo.B)</div>
@foreach (var qux in foo.C) {
<div>@(qux.D)</div>
<div>@(qux.E)</div>
}
</text>
}
かは、<text>
ブロックをネジなどの範囲内で@
-prefixed構造許可:
@foreach (var foo in bar) {
<div>@(foo.A)</div>
<div>@(foo.B)</div>
@foreach (var qux in foo.C) {
<div>@(qux.D)</div>
<div>@(qux.E)</div>
}
}
TL;
DRを私に電話してください。関係ない;これまでのところ、フォーマット設定に関係なく、この製品は正しく動作していません。
説明どおりにVS 2010 Razorフォーマットを動作させる方法を知っている人はいますか? (かは、私のOCDのため、このほんの一部、パイプの夢である?)
これは単なる悲しいことです。これに対する解決策、およびほぼすべてのRazorの書式設定の問題は次のとおりです。**書類を書式設定しない**。率直に言って、それはなんてこったです。このような問題と、[this](http://stackoverflow.com/questions/13829012/the-system-web-razor-api-documentation)は、私には、「満たされている」という驚くほど多くの期限があると仮定しています。 。 – Dan