Asp.net mvc Razor语法-转义,使文本不被识别为电子邮件

Asp.net mvc Razor语法-转义,使文本不被识别为电子邮件,asp.net-mvc,razor,Asp.net Mvc,Razor,基本上我想显示像“v1.1”这样的版本,其中版本号在ViewBag中 所以我写v@ViewBag.Version在标记中 但Razor会将其识别为电子邮件地址 我敢肯定,一旦我看到它,它将是显而易见的,但为了得到我想要的东西,有什么办法可以逃避呢?你应该在Razor内部使用,这样它会将你的输入识别为文本 <text>v</text>@ViewBag.Version v@ViewBag.Version Vsevolod Goloviznin已经给出了答案,但我会添加括号“

基本上我想显示像“v1.1”这样的版本,其中版本号在ViewBag中

所以我写v@ViewBag.Version在标记中

但Razor会将其识别为电子邮件地址


我敢肯定,一旦我看到它,它将是显而易见的,但为了得到我想要的东西,有什么办法可以逃避呢?

你应该在Razor内部使用,这样它会将你的输入识别为文本

<text>v</text>@ViewBag.Version
v@ViewBag.Version

Vsevolod Goloviznin已经给出了答案,但我会添加括号“()”,也就是当你在Razor中时(在代码中
{}
@if{}
,或
@foreach{}
),尝试键入以下内容:

@:v@(ViewBag.Version)
@:
相当于剃须刀代码中的
,例如

@{
    <text>v</text>@(ViewBag.Version)
}

这是可行的,但我希望有更优雅的东西,而re sharper给出了一个警告:“无法解析标记‘text’。您是否尝试过下面使用双'@'的解决方案?”?它应该可以工作,为什么不将“v”添加到ViewBag中。在控制器中的版本可以避免所有这些麻烦?@@@v@1.1结果v@ViewBag.Version@阿迪加:是的,这是一个很好的解决办法,还有其他的。我只是好奇它的正确逃脱方式是什么。
@{
    @:v@(ViewBag.Version)
}