在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>
解决方法
@H_403_11@ 你不需要使用Razor逃脱或任何东西. Razor非常聪明,可以知道什么时候引号属于属性,因为当你解析它时你会在html之外转义.<a href="@Url.Action("Item",page = page })">@page</a>
该代码可以正常工作 – 只需确保在Url.Action调用前面有@符号,因为如果不这样,它将无法正确解析,我注意到你的问题没有.
编辑:删除;因为Url.Action不是声明.