加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 双引号之间的Razor代码

发布时间:2020-12-16 04:02:32 所属栏目:asp.Net 来源:网络整理
导读:在Razor View Engine模板中,我想执行以下操作:我想在html属性的双引号之间放置一些代码.麻烦的是我要插入的代码片段本身包含一些双引号. a href="Url.Action("Item",new { id = Model.Item.Id,page = page });"@page/a 你可以很容易地看到事情变得非常糟糕:
在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之外转义.
<a href="@Url.Action("Item",page = page })">@page</a>

该代码可以正常工作 – 只需确保在Url.Action调用前面有@符号,因为如果不这样,它将无法正确解析,我注意到你的问题没有.

编辑:删除;因为Url.Action不是声明.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读