Fab*_*ied 3 c# razor asp.net-core asp.net-core-tag-helpers
Razor允许将ASP.NET Core MVC标记助手的参数写为相应属性声明中的内联C#表达式。但是,由于HTML属性由引号分隔,如果这样的表达式本身应包含引号,则语法是什么?
这是来自https://docs.microsoft.com/zh-cn/aspnet/core/mvc/views/tag-helpers/authoring的示例:
<website-information info="new WebsiteContext {
Version = new Version(1, 3),
CopyrightYear = 1638,
Approved = true,
TagsToShow = 131 }" />
Run Code Online (Sandbox Code Playgroud)
如果其中一个WebsiteContext属性采用字符串文字,那会是什么样?
由于我的原始答案有缺陷,因此我在与您的代码类似的代码上测试了一种可行的方法:
如果 CopyrightYear 是一个字符串,您可以做的是对外部引号使用单引号,对字符串使用双引号,如下所示:
<website-information info='new WebsiteContext {
Version = new Version(1, 3),
CopyrightYear = "1638",
Approved = true,
TagsToShow = 131 }' />
Run Code Online (Sandbox Code Playgroud)
如果将new表达式包装起来@(...),它将全部视为C#代码,因此不会有问题。
像这样:
<website-information info="@(new WebsiteContext {
Version = new Version(1, 3),
CopyrightYear = "1638",
Approved = true,
TagsToShow = 131 })" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
934 次 |
| 最近记录: |