Razor 视图中的字符串插值?

2024-07-04

支持吗?

如果是这样,有什么技巧可以启用它吗?我假设 Razor 没有使用足够新的编译器......? VS2015 IDE 似乎没问题,但在运行时我得到

CS1056:意外的字符“$”


Update:

从 Visual Studio 2015 Update 1 开始,GUI 中有一个简单的过程可以帮助您执行以下步骤。只需右键单击您的 Web 项目并选择“启用 C# 6 / VB 14”。更多信息请参阅 MSDN 博客文章“支持 C# 6 / VB 14 的新功能 https://devblogs.microsoft.com/dotnet/new-feature-to-enable-c-6-vb-14/".

自编写此答案以来,已在 NuGet 包的帮助下添加了此功能。

如果您使用的是 MVC5,请将此 Nuget 包添加到您的解决方案中。

https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/ https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/

nuget 包应该修改您的 web.config,但请检查您的 web.config 文件中是否包含以下配置(如果未添加):

  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs"
        type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
        type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>
    </compilers>
  </system.codedom>

在 MVC6 中,这是内置的。


原答案:

<div>
    @($"Hello {this.Model.SomeProperty}")
</div>

这仅适用于带有 MVC6 的 C# 6。即使您使用 C# 6 编译器运行 MVC5,它也无法工作。

诀窍在于 razor 解析器还不够智能,无法识别某些语法,因此您必须将整个内容括在括号中(在使用 null 条件运算符 ( 时必须这样做)?.)也在你的剃刀视图中)。

也就是说,Razor 中的字符串插值是有点越野车 https://github.com/aspnet/Razor/issues/401目前在 MVC6 中,所以如果它出现一些问题我不会感到惊讶。是否会解决这些问题是另一回事。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Razor 视图中的字符串插值? 的相关文章

随机推荐

  • Spring Boot:@Entity 注解是否存在?

    我看了这个 Spring Boot 教程 https javabrains io courses spring bootquickstart lessons Creating a Spring Data JPA Repository htt
  • networkx - 根据列表或字典值更改节点大小

    我正在尝试在networkx中制作一个图表 我在为节点分配不同的节点大小时遇到 问题 这是我一直在玩的代码 import sys from collections import defaultdict import networkx as
  • SQLite PRAGMA table_info(table) 不返回列名(在 C# 中使用 Data.SQLite)

    我使用以下示例代码并希望以某种方式获取 sqlite3 数据库的列名称 using System using System Data SQLite namespace Program class Program static void Ma
  • 在 ASP 中使用查询字符串(vb 脚本)

    我有一个名为 form web asp 的表单 该表单的操作是 web process asp 基本上 用户在添加姓名作为参数的同时访问表单 前任 form web asp name tyron surname vella 在 web pr
  • Blackberry Facebook SDK 抛出异常:NoClassDefFoundError

    我已经搜索了与我的问题相关的所有主题 但找不到解决方案 我正在使用 BlackBerry Java Plug in for Eclipse v1 5 2 和 JRE 7 1 0 编写 Blackberry 应用程序 我目前正在尝试将 Fac
  • Glassfish 使用内部模块库而不是应用程序库

    我正在尝试在 Glassfish 4 1 21 上部署 Spring boot 应用程序 在启动时 我收到一条错误 指出由于方法不存在而无法创建entityManagerFactory 它不存在 因为由于某种原因 当应用程序在 glassf
  • 教义:如何从侦听器(preDqlSelect)内的选择查询中删除部分 where 子句?

    我的侦听器是行为的一部分 该行为应该删除任何调用的 select 查询的 where 子句中的所有 is published 检查 在子句中添加一个部分确实很容易 但如何删除一个部分呢 有一些功能 例如Doctrine Query gt r
  • JavaFX 在拖放完成后获取拖放目标文件夹

    Java Oracle 社区的问题 https community oracle com thread 3934986 https community oracle com thread 3934986 问题 我已经设置了下面的代码Butt
  • Ionic 3 项目没有 config.xml

    我试图遵循本教程 https www youtube com watch v SOOjamH1bAA https www youtube com watch v SOOjamH1bAA 但我什至无法开始 因为从看起来来看 我的项目没有 co
  • 如何打印导致ORA-01843错误的记录?

    我有一个包含数百万条记录的表 我正在尝试将一列数据格式化为DATE格式 目前处于VARCHAR2 但是 我越来越ORA 01843不是有效的月份错误 我正在尝试获取导致 ORA 01843 的那些记录 CREATE OR REPLACE P
  • Java 8 模块与 OSGi 有何不同?

    Java 8 和 Jigsaw 项目为 SDK 带来了模块系统 我认为这是一件好事 因为它是软件包的一部分 内置 OSGi 还提供了一个模块系统 但需要一个容器 但除此之外 它们之间的主要区别是什么 如果我使用 OSGi 我是否能够使用标准
  • 表格周围的锚标记在 IE 6、7 和 8 中不可单击

    问题 当用锚标记包围表格时 表格及其中的所有内容在 IE 6 7 和 8 中都不可单击 假设我无法用 div 替换表格 我该如何解决此问题 示例代码 a href http www google com table height 35 ta
  • 使用文件服务 URL 从 blobstore 删除文件

    在我的应用程序 GAE 上的 GWT 中 我们将存储在 blobstore 上的服务 URL 存储在数据库中 当用户选择这些文件之一并单击 删除 时 我们需要从 blobstore 中删除该文件 这是我们的代码 但它根本没有删除文件 pub
  • 如何在 Visual Studio 中导出/导入工具栏

    我在 Visual Studio 中导出设置 如果我搬到新计算机或遇到问题 我会使用这些备份的设置将 Visual Studio 恢复到我喜欢的方式 它还允许我在我使用的各种机器之间保持一致的开发环境 这对于键绑定 语法突出显示 用户工具以
  • Google Play 游戏服务 - 自定义通知/欢迎回来

    我一直在互联网上查找 但找不到我的答案 有没有办法向用户显示他们已登录 GPGS 第一次登录时 您会收到一条通知 内容为 欢迎 但是当您下次打开应用程序时 什么也没有显示 有没有办法显示欢迎回来通知 对于 iOS 这是可能的 在第 9 步上
  • icacls 拒绝所有人目录删除权限

    我试图拒绝所有用户删除文件夹 及其内容 如果可能的话 What I 目前有 https stackoverflow com a 25745678 3987164不管用 icacls pics deny Everyone OI CI DE 使
  • 如何使用异步来提高 WinForms 性能?

    我正在执行一些处理器繁重的任务 每次我开始执行该命令时 我的 winform 都会冻结 直到任务完成之前我什至无法移动它 我使用了微软的相同程序 但似乎没有任何改变 我的工作环境是 Visual Studio 2012 和 net 4 5
  • Apache 的自定义 404 错误问题 - ErrorDocument 也是 404

    我正在尝试为我的网站创建自定义 404 错误 我正在 Windows 上使用 XAMPP 对此进行测试 我的目录结构如下 error 404page html index php htaccess 我的 htaccess 文件的内容是 Er
  • 链接静态库的两种方式

    以下是使用静态库中的函数的几种方法 这些函数是用ar i e libSOMTEHING a ld o result myapp o Lpath to library lname ld o result myapp o path to lib
  • Razor 视图中的字符串插值?

    支持吗 如果是这样 有什么技巧可以启用它吗 我假设 Razor 没有使用足够新的编译器 VS2015 IDE 似乎没问题 但在运行时我得到 CS1056 意外的字符 Update 从 Visual Studio 2015 Update 1