【问题标题】:C# Replace Resource File ValuesC# 替换资源文件值
【发布时间】:2018-12-06 23:52:01
【问题描述】:

我不知道如何提出这个问题,但希望有人能理解并请随时纠正我缺乏术语的情况。

我正在使用资源文件以各种语言显示网站。句子中有一个部分由数据库中的数据驱动,我们有一个方法,并从 本地 资源文件中获取它的资源。

下面是我们的default.aspx 文件的样子:

<html>
    <body>
        <h1>Hello,</h1>
        <p><asp:Localize runat="server" Text="<%$ Resources: PersonalAttentionParagraph %>" /></p>
    </body>
</html>

本地资源文件包含:

...
<data name="PersonalAttentionParagraph" xml:space="preserve">
    <value>Blah... 14:1 ...more blah!.</value>
</data>
...

14:1 值需要来自函数:

string GetValue(){
    return "14:1";
}

问题:您如何正确创建以这种方式调用资源文件的替换功能?

我正在考虑将Resource 文件值14:1 替换为@@VALUE@@,然后在其上调用Replace(),但我不确定这是否是正确的做法。

谢谢。

【问题讨论】:

    标签: c# resources resx


    【解决方案1】:

    在资源文件中放置“blah... {0} .. more blah”是很常见的。当你使用它时,只需使用 string.format(yourResourceString,someComputedValue.ToString())。

    【讨论】:

    • 天哪。完全忘记了这一点!我明天测试一下。如果重要的话,仅供参考的项目仍然是 C#5。我是否必须更改通过该文字调用资源本身的方式?
    • 应该没问题。 String.Format 一直存在。无需更改从资源文件中获取字符串的方式,只要以字符串结尾即可。
    • Dan,我收到一条错误消息:The server tag is not well formed. 我将服务器标签更新为 &lt;asp:Localize runat="server" Text="&lt;%$ Resources: string.Format(PersonalAttentionParagraph, "10:1") %&gt;" /&gt;&lt;asp:Localize runat="server" Text="&lt;%$ string.Format(Resources: PersonalAttentionParagraph, "10:1") %&gt;" /&gt;
    • 我应该指定这个资源文件是local,而不是global
    猜你喜欢
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 2022-12-10
    相关资源
    最近更新 更多