【问题标题】:How to know whether I need @ in Razor Page attributes?如何知道 Razor 页面属性中是否需要 @?
【发布时间】:2018-01-01 19:19:26
【问题描述】:

当我必须在 Razor 页面属性中使用 @ 时,我想知道规则。

例如,

<div asp-validation-summary="ModelOnly">

<input asp-for="Movie.ID" />

<label asp-for="Movie.Title" ></label>

<span asp-validation-for="Movie.Title" >

我们不需要@ 但是

<a asp-page="Edit" asp-route-id="@Model.Movie.ID">Edit</a> 

我们确实需要@

规则是什么?

编辑

我只是在谈论属性。为什么有些属性需要@ 而有些属性不需要@?属性以灰色矩形突出显示。

换句话说,

为什么asp-route-id 需要@asp-forasp-validation-summary 不需要@

【问题讨论】:

  • idownvotedbecau.se/noresearch。 Microsoft Docs 包含许多关于 Razor 语法的文章,包括在哪里需要 @ 从标记转到 c#
  • @ArtificialStupidity 不,我理解,我每天都在使用 Razor。我还阅读了我提到的文档
  • @ArtificialStupidity 在这种情况下,asp-for 已经考虑了 @Modelasp-route-id 没有(因为它可以是任何值,c# 或硬编码)

标签: c# razor asp.net-core-mvc


【解决方案1】:

您需要查看每个TagHelper 及其属性才能准确了解。

作为参考:

【讨论】:

  • @ArtificialStupidity 嗯,不,抱歉,我从来不需要/更改/查看过@namespace 指令。我只使用过 MVC,还没有使用过 Razor Pages。 AFAIK,我一直让它是自动生成的
  • 好的。非常感谢!
  • 给定的链接现在已损坏。可能已归档的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-06
  • 2016-10-02
  • 1970-01-01
  • 1970-01-01
  • 2020-02-16
相关资源
最近更新 更多