I am new to Umbraco. I am currently using Umbraco 7.0. I have created a Razor
macro with a parameter that will access property from home template page. In My Macro
due to space only first word of string displays and rest of the string is not
displayed. property
name is sliderHeading with value : My First Slide. Macro inserted in the template is
as follows :-
@Umbraco.RenderMacro("HomePageSlider", new {mediaId="1084",
sliderHeading=@Umbraco.Field("sliderHeading")})
// where sliderHeading is macro parameter.
Macro definition :-
@inherits umbraco.MacroEngines.DynamicNodeContext
@if (Parameter.mediaId != null)
{
var mediaFolder = Library.MediaById(Parameter.mediaId);
if (mediaFolder.Children.Any())
{
foreach (var mediaItem in mediaFolder.Children)
{
<div class="cycle-slide" style="background-
image:url(@mediaItem.umbracoFile)" data-cycle-title=@Parameter.sliderHeading
data-cycle-desc="Remember, you are not limited to image elements. You can display
other HTML too." data-cycle-link="#"></div>
}
}
}
因此,在宏中,参数值可通过以下方式访问: - data-cycle-
title=@Parameter.sliderHeading。
现在我的问题是 如果属性值是: - “我的第一张幻灯片”。然后它会在页面上给出错误的输出“我的”。 如果属性值是: - “我的第一张幻灯片”,其中包含html空格(&amp; nbbsp;)然后它 将在页面上给出正确的输出“我的第一张幻灯片”。
我应该如何访问Macro中的参数,以便它能给出正确的输出。
答案 0 :(得分:0)
看起来有点简单,但不会包装@ Html.Raw甚至@Raw围绕你的代码强制参数输出空格?
像:
data-cycle-title=@Raw(Parameter.sliderHeading)