c# - 如何将 Umbraco 项目插入 cshtml 文件中的 url,razor?

标签 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" />而不是用户输入的内容。

解决方法是显示用户在文本字符串框中插入的内容。

一切都必须在 Razor 中完成

最佳答案

我会创建一个“YoutubeVideo”宏及其 Razor 脚本“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 结合使用,则此方法可能会有所不同,否则这应该可以解决问题。

关于c# - 如何将 Umbraco 项目插入 cshtml 文件中的 url,razor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15791636/

相关文章:

jquery - 使 Pagedown 与 MarkItUp 编辑器一起工作

c# - 如何通过使用C#正则表达式进行Elasticsearch将json格式的句子转换为另一句?

javascript - JQuery 不调用 asp.net mvc 中的 Controller

umbraco - 在 Umbraco 6.1.3 中打开 'Insert image' 模式会导致 NullReferenceException

c# - 如何自定义 Windows 窗体的系统菜单?

c# - 如何使用 MVC .Net 修复 google insights 上的杠杆浏览器缓存问题

c# - 用户 X 对表 'Y' 的 DROP 命令被拒绝

javascript - 如何在 Javascript 函数中迭代 @Model.ICollection?

c# - Umbraco 中的母版页

c# - 带投递箱的文件观察器类