【问题标题】:Text into a html file thats placed in a resx file将文本转换为放置在 resx 文件中的 html 文件
【发布时间】:2011-12-04 01:10:20
【问题描述】:

我的问题是我有一个发送电子邮件的控制台应用程序,并且我有一个放置在 resx 文件中的 html 电子邮件模板设置,现在我希望能够在运行时更新 html 或将文本添加到 html 文件我该怎么做???

【问题讨论】:

标签: c# html console resx


【解决方案1】:

由于 resx 文件被编译为 dll 或 exe,因此不容易更改其内容。您可以提供配置 gui 或使用一些 xml 配置文件,例如 app.xml。 如果您想为模板文件提供更新,例如本地化,您可以创建多个 resx 文件 File.resx 用于默认语言,File.en.resx 用于英语,File.de.resx... Visual Studio 然后创建多个 dll 文件 en\Resources.dll、de\Resources.dll。每当用户启动您的应用程序时,它都会自动搜索这些文件的安装路径,并使用最适合用户操作系统中选择的语言的安装路径。

【讨论】:

  • 我正在考虑在 html 文件中可能有面板或类似的东西,我可以在 c# 代码中引用这些面板,然后如果可能的话,它将在 html 文件中的这些面板中显示信息? ???
  • 我不知道你对面板的意思,但如果你想用值填充模板,你可以使用 string.Format():模板:{1 } 代码:string.Format(templateString, uri, "点击我"); string.Format 用可变数量的参数填充模板字符串,可以用“{}”引用。 msdn.microsoft.com/en-us/library/b1csw23d.aspx
  • 所以说我在 html 文件中有段落标签,我可以替换文件中段落中的文本吗?通过引用

    标签来使用 string.replace("old text","new text") 类似的东西?

  • 您不能更改 resx 文件的内容。但是,您可以像这样定义 resx 文件:“

    {0}

    ”,然后在运行时将 {0} 替换为实际文本。请记住,您不能将此替换的结果保存回 resx 文件,因为该文件在已部署的项目中不存在。 resx 文件仅在开发人员机器上可用,并直接编译到您的 exe 文件中。如果您想在运行时更改 resx 文件中定义的内容,您应该使用另一种机制,例如将值写入配置 xml 文件或 windows 注册表。
【解决方案2】:

如果您将模板从直接资源字符串移动到存储为内容或嵌入式资源的项目级文件中,我认为您会更轻松。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-19
    • 2016-11-24
    相关资源
    最近更新 更多