11

かみそりコードでコロンをエスケープするにはどうすればよいですか?

これは私の問題です:

@count@:: @item.Title - @item.Link - @item.Price

@count 変数の後にエラーが発生しています。カウントの横にコロンを使用するにはどうすればよいですか?

次のようにレンダリングする必要があります。

1: Title - Link - Price

** アップデート **

私のコードブロック

@{
    int count = 0;
    foreach (var item in Model.Wishes) {
        count++;
        @count@:: @item.Title - @item.Link - @item.Price
        <br />
    }
}
4

2 に答える 2

18

<text>コードの表示部分をタグでラップする必要があります。コロンをエスケープする必要はありません。

@{
    int count = 0;

    foreach (var item in Model.Wishes) {
        count++;
        <text>
        @count: @item.Title - @item.Link - @item.Price
        <br />
        </text>
    }
}

https://weblogs.asp.net/scottgu/archive/2010/12/15/asp-net-mvc-3-razor-s-and-lt-text-gt-syntax.aspx

タグは、<text>Razor によって特別に扱われる要素です。これにより、Razor は<text>ブロックの内部コンテンツをコンテンツとして解釈し、含まれている<text>タグ要素をレンダリングしません (つまり、要素の内部コンテンツのみ<text>がレンダリングされ、タグ自体はレンダリングされません)。これは、HTML 要素でラップされていない複数行のコンテンツ ブロックをレンダリングする場合に便利です。

https://www.asp.net/web-pages/tutorials/basics/2-introduction-to-asp-net-web-programming-using-the-razor-syntax#BM_CombiningTextMarkupAndCode

@:演算子または<text>要素を使用します。は@:、プレーン テキストまたは一致しない HTML タグを含む 1 行のコンテンツを出力します。この<text>要素は、出力する複数の行を囲みます。これらのオプションは、出力の一部として HTML 要素をレンダリングしたくない場合に便利です。

于 2013-04-14T00:48:06.737 に答える
0

count が変数として宣言されている場合、これは機能するはずです。

@{
   var count = 4;
}

   @count: 

カウントがモデルの一部である場合、これは機能するはずです。

@model MvcApplication4.Models.DemoViewModel

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>



@Model.Count: 
于 2013-04-14T00:36:23.187 に答える