【问题标题】:Umbraco Razor Macro Parameter access with spaceUmbraco Razor 宏参数访问空间
【发布时间】:2014-05-20 11:25:40
【问题描述】:
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 空格 (&nbbsp;) 然后它 将在页面上给出正确的输出“我的第一张幻灯片”。

我应该如何访问宏中的参数,以便它给出正确的输出。

【问题讨论】:

    标签: razor parameters umbraco


    【解决方案1】:

    看起来有点简单,但不会将@Html.Raw 甚至@Raw 包裹在您的代码中,强制参数输出带有空格?

    喜欢:

    data-cycle-title=@Raw(Parameter.sliderHeading)
    

    【讨论】:

    • 感谢您的回复。它给出“当前上下文中不存在名称'Raw'”错误。我是否需要为此导入任何命名空间。
    猜你喜欢
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 2012-05-28
    • 1970-01-01
    相关资源
    最近更新 更多