2012-05-03 86 views
2

我可以访问@ Umbraco.getDictionaryItem助手在我的自定义控制器在我的自定义区域,然后将其添加到我公司通过普通的jQuery的Ajax呈现的自定义部分页面的模型。 而且如果我可以在我的Surface Controller插件中访问它,它也会很棒。Umbraco.getDictionaryItem助手在自定义控制器

感谢,

谢尔

回答

0

创建自定义控制器作为地面控制器,并获得IRoutableRequestContext,

public class propertydetailsController : SurfaceController 
{ 
    private IRoutableRequestContext _routableRequestContext; 
} 

然后访问在Umbraco.Cms.Web.Dictionary的字典辅助类,样本代码如下。

DictionaryHelper dictionaryHelper = new DictionaryHelper(_routableRequestContext.Application); 
string valueDictionary = dictionaryHelper.GetDictionaryItemValueForLanguage("DictionaryName", "en-GB"); 

干杯

+0

哪里可以找到这个Umbraco.Cms.Web.Dictionary类?我搜索了相当长的一段时间......没有证据显示DictionaryHelper存在的任何地方,至少对于v6.1.6,v6.2.5和v7而言。在OP接受这个答案后它消失了吗?我搜索发现DictionaryHelper的源代码,没有什么:https://github.com/umbraco/Umbraco-CMS/search?utf8=%E2%9C%93&q=DictionaryHelper – firepol

+0

其实这个问题是,当一把umbraco是新进入的MVC框架并且有很多问题。因为我记得它是v5的一些变体...... Umbraco在v5之后重写了整个结构,所以它现在已经停止使用的可能性很大。 – Sher

+0

谢谢。其实,我开了一个新的问题,这和贴一些我使用一把umbraco V6解决这一先进的日期代码:http://stackoverflow.com/questions/28811485/umbraco-get-dictionary-item-by-语言 - 如何在问题中寻求更好的方法。让我们看看一些umbraco专业人士是否有答案... – firepol

0

你应该能够访问它在你的服务器端文件,是的。你只需要确保你有一个在你的项目中正确的Umbraco DLL的引用(不是100%确定我头顶的DLL是该方法驻留的,尽管你必须在源代码中查找)。

+0

:)你能成为一个更具体一点,因为我已经尝试过的代码,但没有运气的工作,唯一的解决办法,我能够做的就是通过jQuery的AJAX通过转换后的值并将它们添加到我的模型n中,然后在我的局部视图中使用它们。 – Sher