如何将Umbraco项目插入到rashor的cshtml文件中的URL中?

时间:2013-04-03 15:29:23

标签: c# razor umbraco

我制作了包含youtube链接的If语句。

在umbraco中,我有一个文本字符串框,允许用户插入YouTube视频的ID。

<div class="module m-video">
    <div class="regular">
        <div class="graphics video-container">
        <iframe width="100%" src="http://www.youtube.com/embed/<umbraco:Item field="youtubeId" runat="server" />?rel=0" frameborder="0" allowfullscreen></iframe>
    </div>
    </div>
</div>

但是当页面加载时,它会显示<umbraco:Item field="youtubeId" runat="server" />而不是用户输入的内容。

它们可以显示用户在文本字符串框中插入的内容。

所有必须在剃刀

中完成

2 个答案:

答案 0 :(得分:4)

我会创建一个“YoutubeVideo”宏以及它的剃刀脚本“YoutubeVideo.cshtml”。那个cshtml代码看起来像这样:

@using umbraco.MacroEngines
@inherits umbraco.MacroEngines.DynamicNodeContext

<div class="module m-video">
    <div class="regular">
        <div class="graphics video-container">
            <iframe width="100%" src="http://www.youtube.com/embed/@Model.youtubeId?rel=0" frameborder="0" allowfullscreen></iframe>
        </div>
    </div>
</div>

然后在你的.master中你可以包含这样的mascroscript:

<umbraco:Macro ID="Macro1" Alias="YoutubeVideo" runat="server" />

如果您将Umbraco 6+与MVC一起使用,这种方法可能会有所不同,但除此之外,这应该可以解决问题。

答案 1 :(得分:0)

如果你在umbraco模板编辑器中这样做,你应该能够用单引号交换表示src属性的双引号,并且umbraco项不需要改变。

<iframe width="100%" src='http://www.youtube.com/embed/<umbraco:Item field="youtubeId" runat="server" />?rel=0' frameborder="0" allowfullscreen></iframe>