将Razor数据插入src和href属性

时间:2017-08-17 11:49:21

标签: javascript asp.net-mvc iframe razor umbraco

我需要在我的iframe元素的src属性中插入API密钥和位置字符串。

这就是我的iframe看起来的样子:

<iframe class="center-block" src="https://www.google.com/maps/embed/v1/place?key=@Umbraco.Field('aPIKey')&q=@Umbraco.Field('lokation')" width="95%" height="300" frameborder="0" style="border:0" allowfullscreen></iframe>

但是当我进入页面时,我收到了这个错误:

Too many characters in character literal

我尝试使用&#34;&#34;而不是剃刀属性,但它破坏了dokument的其余部分的格式。

我真的很困惑在HTML属性中使用Razor语法的正确方法。

2 个答案:

答案 0 :(得分:1)

@Umbraco.Field("lokation") @Umbraco.Field("aPIKey")

应该是

'

c#引号用于"

中的字符文字

现在因为您在剃刀中使用'引号,您需要将html引号更改为<iframe class="center-block" src='https://www.google.com/maps/embed/v1/place?key=@Umbraco.Field("aPIKey")&q=@Umbraco.Field("lokation")' width="95%" height="300" frameborder="0" style="border:0" allowfullscreen></iframe>

  "require": {
            "php": ">=5.5.9",
            "doctrine/doctrine-bundle": "^1.6",
             "yourbundle"

答案 1 :(得分:1)

它应该是@(Umbraco.Field("lokation")) - 如果你的“变量”包括parantheses或其他特殊字符,例如“当你已经在”“ - 分隔的文本字符串中时,你需要将整个事物包裹起来......更多的parantheses: - )