在Razor View Engine模板中,我想执行以下操作:我想在html属性的双引号之间放置一些代码。问题是我要插入的代码本身包含一些双引号。
<a href="Url.Action("Item", new { id = Model.Item.Id, page = page });">@page</a>
您可以轻松地看到事情如何变得严重错误:-)我知道我可以在变量中计算链接然后使用它,但是我宁愿不这样做:
@{ var action = Url.Action("Question", new { id = Model.Question.Id, page = page }); }
<a href="@action">@page</a>
最佳答案
您无需使用Razor即可逃脱或进行任何操作。 Razor足够聪明,可以知道引号何时位于属性内,因为您在解析html时会转义到html之外。
<a href="@Url.Action("Item",
new { id = Model.Item.Id, page = page })">@page</a>
该代码可以正常工作-只需确保在
@
调用前面有Url.Action
符号,因为如果不这样做,它将无法正确解析,并且我注意到您的问题中没有。编辑:删除;因为Url.Action不是语句。
关于asp.net-mvc - 双引号之间的 Razor 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4249770/