gpt4 book ai didi

c# - ASP.NET MVC Razor 语法

转载 作者:太空狗 更新时间:2023-10-30 00:09:04 24 4
gpt4 key购买 nike

这里是我想通过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>
}

而不是 <text>您可以使用有效的 HTML 元素,例如 <p><div> .这是因为默认情况下在 { 之后解析器处于“代码”模式,需要标记标签才能切换到“标记”模式。

请注意,Razor 执行标签匹配,这就是为什么您需要拥有 if 的整个范围的原因如果您希望所有语句都被视为标记,则包含在标签中的语句。否则,不在标签内的所有内容都将被视为代码:

@if(Foo) {
// Treate as code
<text>
Markup
<div>More markup</div>
@EscapeIntoCode
</text>
// Treate as code again
}

关于c# - ASP.NET MVC Razor 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3722006/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com