我正在创建我的第一个 .net 网站。
很多页面在页面中都有代码增强字符串,像这样:
string.Format("{0} Reviews", _store.Name);
虽然这本身并不笨拙,但有些页面有很多很长的字符串,并且使代码页很麻烦。
我知道您可以使用资源文件来存储字符串,但这没有考虑到字符串中的编程插入。
有没有人有任何技巧可以更好地处理这个问题?
更新
哇,感谢您的提示任何丰富的反应家伙。我会看一下它们,看看哪个最适合。
使用应用程序设置或为您要提供的不同文化和语言创建资源文件。
我只想存储
"{0} Reviews"
在资源文件中并给它一个合理的名称,例如ReviewsWithStoreNameParam
您可以使用资源文件并添加编程插入。
例如,您可以放入"{0} Reviews"
资源文件。
我动态地使用资源:
string.Format(GetGlobalResourceObject("MyResources", "Label_Reviews").ToString(), _store.Name);
在 MyResources.resx 中:
Label_Reviews --> "{0} Reviews"
这里有两种方法:-
1).您可以在配置文件中构建冗长的字符串。
2).您可以将预先确定的文本字符串存储在 XML 文件中。
希望这是有用的。
我出于这种目的使用配置文件。即使应用程序正在运行,您也可以轻松地修改它们。
<appSettings>
<add key="1" value="TestString" />
</appSettings>
您可以将程序插入存储在资源文件中的字符串中。
只需像这样存储字符串:
Name | Value
-----------------+-------------------
reviews | {0} Reviews
并像这样调用它(假设您的资源文件被命名为 default Resource1.resx
)
string.Format(Resource1.reviews, _store.Name);
在 aspx.cs 文件中,(服务器端)使用 public 创建字符串
public string reviews;
完成逻辑后,设置值:
reviews = string.Format("{0} Reviews", _store.Name);
所以,你的 var 是公开的,你可以在你的 aspx 文件中使用字符串评论
<%= reviews %>
使用 Global.asax 文件
在 Global.asax 中声明静态 HashTable,如下所示:
public static Hashtable LabelResource = null;
您可以从数据库或 XML 文件或 Application_OnStart 或 Session_Start 的简单文本文件加载此哈希表
您可以在您的应用程序中(在您的 aspx 页面中)使用此变量,例如:
Global.LabelResource["ReviewString1"].ToString()