asp.net – 本地化javascript消息和验证文本
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了asp.net – 本地化javascript消息和验证文本,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1971字,纯文字阅读大概需要3分钟。
内容图文
![asp.net – 本地化javascript消息和验证文本](/upload/InfoBanner/zyjiaocheng/701/a7d9541cb9b64c7f89c7647b08e64b01.jpg)
我正在开发一个多语言的网络项目.例如,项目的一部分涉及一些自定义谷歌映射,利用客户端interace使用jquery / .net将点添加到地图并将其保存到数据库.
将有一些必须进行本地化的验证和其他信息性消息(例如,“请在地图中添加至少一个点”).
我现在能想到的唯一选择是:
>在javascript中使用代码渲染块从资源文件中提取本地化消息
>使用带有meta:resourcekey的隐藏字段,使用当前区域性自动从资源文件中获取正确的本地化消息,并在必要时在jquery中获取.val().
>每次需要消息时,进行Web服务调用以按键/语言获取正确的消息.
有什么想法,经历吗?
编辑:
我更喜欢使用.net资源文件来保持与应用程序的其余部分保持一致.
解决方法:
好吧,我构建了一个通用的Web服务,允许我获取资源并将它们返回到字典中(可能是转换为字典的更好方法)…
<WebMethod()> _
<ScriptMethod(ResponseFormat:=ResponseFormat.Json, UseHttpGet:=False, XmlSerializeString:=True)> _
Public Function GetResources(ByVal resourceFileName As String, ByVal culture As String) As Dictionary(Of String, String)
Dim reader As New System.Resources.ResXResourceReader(String.Format(Server.MapPath("/App_GlobalResources/{0}.{1}.resx"), resourceFileName, culture))
If reader IsNot Nothing Then
Dim d As New Dictionary(Of String, String)
Dim enumerator As System.Collections.IDictionaryEnumerator = reader.GetEnumerator()
While enumerator.MoveNext
d.Add(enumerator.Key, enumerator.Value)
End While
Return d
End If
Return Nothing
End Function
然后,我可以获取此json结果并将其分配给局部变量:
// load resources
$.ajax({
type: "POST",
url: "mapping.asmx/GetResources",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: '{"resourceFileName":"common","culture":"en-CA"}',
cache: true,
async: false,
success: function(data) {
localizations = data.d;
}
});
然后,您可以从局部变量中获取值,如下所示:
localizations.Key1
这里唯一的问题是,如果要将本地化分配给全局变量,则必须运行async = false,否则在需要时不会提供可用的转换.我正在尝试使用’get’,所以我可以缓存响应,但它不适合我.看到这个问题:
Can’t return Dictionary(Of String, String) via GET ajax web request, works with POST
内容总结
以上是互联网集市为您收集整理的asp.net – 本地化javascript消息和验证文本全部内容,希望文章能够帮你解决asp.net – 本地化javascript消息和验证文本所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。