[英]ASP.NET MVC Razor syntax
以下是我想用Razor表達的內容:
<b>@parameterMapping.Title</b> (Category: @parameterMapping.Category.Title, Regexp: @parameterMapping.Regexp)
但為了使其可解析,我必須這樣寫:
<b>@parameterMapping.Title</b> <text>(Category: </text> @parameterMapping.Category.Title <text>, Regexp:</text> @parameterMapping.Regexp <text>)</text>
有沒有更好的方法來解決這個問題?
你寫下了什么:
<b>@parameterMapping.Title</b>
(Category: @parameterMapping.Category.Title, Regexp: @parameterMapping.Regexp)
實際上在Razor中有效。 我的猜測是你在一些有條件的或迭代的陳述中有所有這些( if
或foreach
等)。 在這種情況下,您可以將整個內容包裝在<text>
:
@if(Foo) {
<text><b>@parameterMapping.Title</b>
(Category: @parameterMapping.Category.Title, Regexp: @parameterMapping.Regexp)</text>
}
您可以使用有效的HTML元素(如<p>
或<div>
代替<text>
<div>
。 這是因為默認情況下{
解析器處於“代碼”模式並且需要標記標記切換到“標記”模式。
請注意,Razor執行標記匹配,這就是為什么你需要將if
語句的整個范圍包含在標記中,如果你想將它們全部視為標記。 否則,不在標記內的所有內容都將被視為代碼:
@if(Foo) {
// Treate as code
<text>
Markup
<div>More markup</div>
@EscapeIntoCode
</text>
// Treate as code again
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.