可执行菜单项的DNN本地化返回Null

时间:2013-10-12 18:45:38

标签: c# dotnetnuke

我绝对疯了,希望有人能帮助我找到我所忽视的东西。我有一个实现IActionable的用户控件,无论我尝试什么,我都无法获取菜单项上的Localized文本以返回除null之外的任何内容!我已经使用了公共资源,“AddAction.Action”等没有运气。我已经尝试明确说明要使用哪种资源,哪种资源也无效。这是最后两个需要在整个模块上进行本地化的项目,我无法让它合作。它们正确导航,只是不显示文本。

在用户控件上见证 .ascx.cs:

     //add the Manage Testimonials action button
            var Actions = new ModuleActionCollection();
            Actions.Add(GetNextActionID(),
               Localization.GetString(ModuleActionType.EditContent, this.LocalResourceFile),
                ModuleActionType.EditContent,
                "",
                "",
                EditUrl(),
                false,
                DotNetNuke.Security.SecurityAccessLevel.Edit,
                true,
                false);

            Actions.Add(GetNextActionID(),
                Localization.GetString("AddContent.Action", LocalResourceFile,
               ModuleActionType.AddContent,
               "",
               "",
                EditUrl("AddTestimonial"),
               false,
               DotNetNuke.Security.SecurityAccessLevel.Edit,
               true,
               false);

            return Actions;

在App_LocalResources \ 见证 .ascx.resx:

  <data name="AddContent.Action" xml:space="preserve">
    <value>Add New Testimonial Localized</value>
  </data>
 <data name="AddContent.Text" xml:space="preserve">
   <value>Add Content Text</value>
 </data>
 <data name="EditContent.Action" xml:space="preserve">
   <value>Manage Testimonials Localized</value>
 </data>

我已经尝试过我能想到的所有组合,但它不应该只是调用Localization.GetString方法。我以前从来没有遇到这样的问题,我正要把头伸进窗户。我们非常感谢任何帮助或指示!

谢谢!

1 个答案:

答案 0 :(得分:1)

我也遇到了同样的问题。找到此文档后再阅读第15页http://www.dotnetnuke.nl/Portals/16/downloads/documenten/DotNetNuke%20Module%20Localization%20Guide.pdf

基本上一些疯狂的魔法发生在DNN附加的地方#34; .Text&#34;无论资源键的结尾是什么。

所以...

您需要做的是资源字符串

AddContent.Action.Text作为资源键。当你尝试拨打Localization.GetString(AddContent.Action, LocalResourceFile)