c# - Umbraco 7 - 通过代码更新字典项的值
问题描述
有 Umbraco 的 Dictionary 部分,其中包含它的所有项目。
我正在尝试找到一种方法来通过我的代码(.NET)更新特定项目的值。
我知道如何获取价值,但不知道如何设置和更新它。
有什么建议吗?
解决方案
如果您使用Umbraco 的 LocalizationService来创建字典项并以编程方式获取它们,那么这就是您更新现有字典项值的方式;
// Get the existing dictionary item to delete it
var dictionaryItem = _localizationService.GetDictionaryItemByKey(data.Key);
// Get all languages
var allActiveLanguages=_localizationService.GetAllLanguages();
// Set your language - I only have one language, which is why I'm getting the first one here
var language = allActiveLanguages.FirstOrDefault();
if (language != null)
{
_localizationService.AddOrUpdateDictionaryValue(dictionaryItem, language, "New dictionary value is here!!");
}
// Save your updates
_localizationService.Save(dictionaryItem);
PS:下图是您如何使用 ILocationService。
PSS:更多代码示例,请看这里。
推荐阅读
- vue.js - [Vue 警告]:属性或方法“波士顿”未在实例上定义,但在渲染期间引用
- python - 从类中检索变量
- node.js - 使用 child_process.execFile 在 node.js 中执行本地文件
- python - Python - 线程的目标是对象的方法
- oracle - 使用scala jdbc从oracle表中检索数据给出错误结果
- elixir - POST 后使用 plug_cowboy (2.0) 重定向
- odoo-11 - 将过滤器应用于 t-foreach
- c# - 预先已经在场景中的物体的物体池
- php - 在PHP中查找由破折号分隔的两个最长的字符串
- jpeg - 使用 FileChannel 和 ByteBuffer 读取 JPEG 幻数