动态替换资源文件中的字符串
replace string dynamically in resource file
在我的 cshtml 页面中,我有一个这样的引导框对话框
bootbox.dialog({
title: "Addresstitle " + ADDRESS + " save",
message: "you will be send to " + fromaddress + "for verification dear" + customer,
buttons: {
success: {
label: "Next,
className: "btn btn-success",
callback: function(){
//some logic
}
}
}
});
我将在资源文件中创建 2 个资源字符串,一个用于标题,一个用于消息
Addresstitle {0} save
you will be send to {0} for {1} verification dear {2}
如何在资源文件中动态设置此文本?
我不确定您的项目结构,但这里是解决此问题的高级想法:
您将字符串存储到某个名为 Resources
的 C# class 资源中($TITLE$、$FORM$ 和 $CUSTOMER$ 是稍后将在 JS 中替换的占位符):
- 键:标题值:地址标题$TITLE$保存
- 键:消息值:亲爱的$CUSTOMER$[,您将被发送到$FORM$进行验证=35=]。
在准备视图的 Razor 页面中,您还可以在视图中将服务器端资源作为 JS object 提供,以便 browser/JavaScript 也可以使用它们:
<script>
var resourceObj = {
title: '@Resources.Title',
message: '@Resources.Message'
}
</script>
- 在浏览器中加载视图后,您可以使用 JavaScript 访问该 JS object 并设置对话框标题和消息:
bootbox.dialog({
title: resourceObj.title.replace("$TITLE$", ADDRESS),
message: resourceObj.message.replace("$FORM$", fromaddress).replace("$CUSTOMER$", customer),
buttons: {
success: {
label: "Next,
className: "btn btn-success",
callback: function(){
//some logic
}
}
}
});
resourceObj
在这个例子中是 JS 全局命名空间的一部分,只是为了让一切更简单。
在我的 cshtml 页面中,我有一个这样的引导框对话框
bootbox.dialog({
title: "Addresstitle " + ADDRESS + " save",
message: "you will be send to " + fromaddress + "for verification dear" + customer,
buttons: {
success: {
label: "Next,
className: "btn btn-success",
callback: function(){
//some logic
}
}
}
});
我将在资源文件中创建 2 个资源字符串,一个用于标题,一个用于消息
Addresstitle {0} save
you will be send to {0} for {1} verification dear {2}
如何在资源文件中动态设置此文本?
我不确定您的项目结构,但这里是解决此问题的高级想法:
您将字符串存储到某个名为
Resources
的 C# class 资源中($TITLE$、$FORM$ 和 $CUSTOMER$ 是稍后将在 JS 中替换的占位符):- 键:标题值:地址标题$TITLE$保存
- 键:消息值:亲爱的$CUSTOMER$[,您将被发送到$FORM$进行验证=35=]。
在准备视图的 Razor 页面中,您还可以在视图中将服务器端资源作为 JS object 提供,以便 browser/JavaScript 也可以使用它们:
<script>
var resourceObj = {
title: '@Resources.Title',
message: '@Resources.Message'
}
</script>
- 在浏览器中加载视图后,您可以使用 JavaScript 访问该 JS object 并设置对话框标题和消息:
bootbox.dialog({
title: resourceObj.title.replace("$TITLE$", ADDRESS),
message: resourceObj.message.replace("$FORM$", fromaddress).replace("$CUSTOMER$", customer),
buttons: {
success: {
label: "Next,
className: "btn btn-success",
callback: function(){
//some logic
}
}
}
});
resourceObj
在这个例子中是 JS 全局命名空间的一部分,只是为了让一切更简单。