簡體   English   中英

ASP.NET MVC Razor語法

[英]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中有效。 我的猜測是你在一些有條件的或迭代的陳述中有所有這些( ifforeach等)。 在這種情況下,您可以將整個內容包裝在<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM