【问题标题】:Kentico localization in ascx transformation IF statmentascx 转换 IF 语句中的 Kentico 本地化
【发布时间】:2016-03-01 22:25:39
【问题描述】:

我觉得在这里开始一个新线程更容易。在上一个线程 (initial post) 中,我正在研究在转发器中动态添加打开和关闭表标签。当我正在使用法语构建时,我正在努力使用资源字符串。这是sn-p的代码:

<%# IsFirst() ? "<table class='sortable col-3'><thead><tr><th class=''>Date</th><th class='sorter-false'>Subject</th><th class='sorter-false'>From</th></tr></thead><tbody>" : "" %>

我想用资源键替换字符串“主题”。我已经尝试过宏方法和 c# 的串联,但我被卡住了。

【问题讨论】:

    标签: asp.net kentico


    【解决方案1】:

    资源字符串宏是{$ the.resource.string.code $},所以你在Kentico的“Localize”模块中添加一个本地化字符串,并使用上面的宏来放置。

    如果这是在 ASCX 转换中,您可能需要使用 CMS:LocalizedString 控件,或使用 Literal 控件,然后使用 CMS.Helpers.ResHelper.GetString("stringKey");

    https://docs.kentico.com/display/K9/Working+with+resource+strings

    【讨论】:

    • 这是一个 ASCX 转换,但使用单行 If 语句,我在 CMS.Helper 中遇到了一些错误。我重写了 if 语句。
    【解决方案2】:

    我为此重写了 if 语句。到目前为止一切顺利。

    <%
     if (IsFirst()){
     %>
    <table class="sortable col-3">
    <thead>
    <tr>
    <th class="">Date</th>
    <th class='sorter-false'><%# CMS.Helpers.ResHelper.GetString("kff.CEODirect-FormLabel--Subject") %></th>
    <th class='sorter-false'>From</th>
    </tr>
    </thead>
    <tbody>
    <%
     }
    
    %>

    【讨论】:

    • 你为什么不想在使用 TABLE 标签之前/之后使用内容来包装你的转发器?
    • 当我使用 before/after 时,HTML 仍然会显示在详细页面中,这是通过另一个转换完成的
    【解决方案3】:

    我相信这会起作用,假设这是您的资源字符串键。

    【讨论】:

    • 如何在单行 IF 语句中连接它?这就是我无法开始工作的原因,这就是重新格式化代码的原因。
    • 日期 " + Localize("kff.CEODirect-FormLabel --Subject") +" From " : "" %>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-06
    • 2019-04-09
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    相关资源
    最近更新 更多