我一直在尝试研究执行以下操作的最佳方法:
将用户定义的基于文本的表达式保存到数据库中,该数据库概述了要在页面上显示的内容。
例如:“此人的就业状况是 [employment] 雇员,每周 [hours] 小时。”
其中 [employment]、[hours] 对应于数据库中的键/值
例子:
TABLE
ID KEY VALUE
1 employment casual
1 hours 10
2 employment parttime
2 hours 25
在运行时,此用户定义表达式将用于显示的页面可以访问人员 ID,并且需要从数据库中收集相关详细信息,解析并用检索到的数据替换 [employment]、[hours] 占位符。
例如:“此人的就业状况是临时雇员,每周工作 10 小时。
我正在寻找的解决方案需要足够动态,以处理用户在任意数量的占位符中和周围输入任何静态文本。
编辑以澄清我的意思:
将有一个设置区域,用户可以在其中输入他们希望在屏幕上显示的表达式,该表达式可以是包含数据库中任何“键”值的任何文本。不同的用户将看到他们自己定义的表达式。
另一个例子:“员工工作 [hours] hrs, [employment]”
将显示为:“员工工作 10 小时,休闲”
我的搜索要么不是很好,要么就是不太了解结果。我找到了很多关于 CustomExpressionBuilder、Lambda 表达式、表达式树等的信息,但我很困惑这些信息是否适合我需要做的事情。也许我只是还没有到我的理解是新的!
如果我能得到这个工作,我也希望能够添加一些简单的三元类型功能和/或数学功能。似乎有一个名为NCalc的库可以使这变得非常简单,但是我看不到我最初需要的文本替换要求的示例,或者立即看到一种对其进行调整以使其工作的方法。
感谢您的任何建议,我非常乐意进一步研究,但需要朝着正确的方向努力。