[解決済み] Razor - HTML.RAW でテキストが出力されない。
2022-02-10 13:19:02
質問
他の似たような質問に対して提案された解決策をすべて試しましたが、どれもうまくいかないようです。 要するに、私はモデルのコレクションからのデータで満たされたテーブルを表示しようとしているのです。それ自体は問題ないのですが、razorが常に3列で生成するように強制したいのです(要素がいくつあろうと)。私の最初のアイデアは、そのようにすることでした。
<table class="projects-grid">
<tr>
@for(int i = 0; i< Model.Count(); i++)
{
if (i != 0 && i % 3 == 0)
{
Html.Raw("</tr><tr>");
}
var item = Model.ElementAt(i);
<td class="project-tile">
@Html.DisplayFor(modelItem => item.Title)
</td>
}
</tr>
</table>
要するに、3つ目の要素ごとに、テーブルにもう一行追加するために "" という文字列を Razor に出力させたいわけです。この文字列がページソースに存在しないことを除けば、すべてうまくいっているように見えます。デバッグでは、この行を見ることができます。
Html.Raw("</tr><tr>");
実際に呼び出されますが、生成されたページには何も出力されません。
何かお手伝いできることはありますか? よろしくお願いします。
解決方法は?
出力されないのは、razor構文が実行されているコンテキストが原因です。あなたの
if
ブロックでは、すべてのコードは通常の C# コンテキストにあるかのように実行され、行は
Html.Raw("</tr><tr>");
を返します。
MvcHtmlString
しかし、あなたはこれに対して何もしていません。出力コンテキストを入力する必要があります。
@Html.Raw("</tr><tr>");
関連
-
[解決済み] 以下のHTMLフォームの例で、「mailto:[email protected]」とは何ですか?
-
[解決済み] フロートされた子 div の高さを親の高さに拡張するにはどうすればよいですか?
-
[解決済み] CSSでテキストや画像の背景を透明にするには?
-
[解決済み] 画像の横のテキストを縦に揃える?
-
[解決済み] divの中のテキストを縦に揃えるにはどうしたらいいですか?
-
[解決済み] Razor View Page で名前空間をインポートするにはどうしたらいいですか?
-
[解決済み] razor viewエンジンでの@文字のエスケープ
-
[解決済み】なぜHTMLは "chucknorris "を色と見なすのか?
-
[解決済み】enctype='multipart/form-data'とはどういう意味ですか?
-
[解決済み】RazorをJavaScriptで使用する場合
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Telegramマークダウンの構文。太字 *と* イタリック?(2018年9月)
-
[解決済み】divの高さを画面の残りスペースで埋めるようにする
-
[解決済み] このCSSでInline-blockが正しく動作しないのはなぜですか?
-
[解決済み] ボディの背景色が表示されない?
-
[解決済み] HTML5 Canvas 要素でカスタムフォントを使用するにはどうすればよいですか?
-
[解決済み] Bootstrapのカラム内で画像を中央に配置する方法 [重複]について
-
[解決済み] Font Awesome アイコンをプレースホルダーで使用する
-
[解決済み] TD rowspan が機能しない
-
[解決済み] Railsアプリケーションにアイコンを追加する
-
[解決済み] mailchimpのメールインラインスタイルのコーディングがいつも通りできない