双引号之间的剃刀代码
-
27-09-2019 - |
题
在一个Razor视图引擎模板,我要做到以下几点:我希望把一些的代码的一个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>
解决方案
您不必逃避或使用剃刀什么。剃刀是足够聪明,知道什么时候引号是属性中,因为你在逃避HTML之外,当你分析它。
<a href="@Url.Action("Item",
new { id = Model.Item.Id, page = page })">@page</a>
该代码将正常工作 - 只要确保你在@
呼叫前面的Url.Action
符号,因为如果你不这样做就无法正确解析,我注意到你没有它在你的问题<。 / p>
编辑:移除;作为Url.Action不是语句。
其他提示
也许我不明白在这种情况下,你的问题请指正,但不能你只需:
@Html.ActionLink(page, "Question", new { id = Model.Question.Id, page = page })
这可能是正确的:
href="@(action)"> @page
不隶属于 StackOverflow