• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    asp.net web页面元素的多语言化(多国语化)实现分享

    开发的一些系统,经常要求支持多语言(例如日文,英文等),以前大部分做法是创建一个资源文件,

    将每一个标签,按钮等标题文字预先用各种语言设定保存好,

    在程序中根据选择的语言来显示对应文字。

    这样做的缺点是如果每次改动或增加一个控件,都需要程序开发人员刻意做多语言对应,

    如果用户想要改某些标题的描述,还需要开发人员改动资源文件并替换到程序发布目录。

    经过调查实验,最终想了一个办法来较好地对应此问题:

    在每一个web页面,设定一个只有最高级的管理权限才能看到的一个按钮(例如叫“设定”),

    来负责画面上各固定标题的设置,只要点击这个按钮,就通过控件遍历的方法来显示该页面上所有希望控制的

    控件(比如Label,button,gridview,linkbutton等),   将其各种语言的内容显示到一个小页面上,让用户自己设定,

    然后保存到DB。下次打开时就按照DB设定好的内容初期化页面控件的标题。

    最终用户可自由设定,也无需开发人员不停修改。

    画面效果如下:

    点击“设定”

    下面举例,循环设定页面中控件(TextBox,DropDownList等)不可用的代码:

    复制代码 代码如下:

    Public Shared Sub LoopingControlsDisabled(ByVal oControl As Control)
    Dim frmCtrl As Control
    Dim btn As Button
    For Each frmCtrl In oControl.Controls
    If TypeOf frmCtrl Is TextBox Then
    DirectCast(frmCtrl, TextBox).Enabled = False
    End If
    If TypeOf frmCtrl Is DropDownList Then
    DirectCast(frmCtrl, DropDownList).Enabled = False
    End If
    If TypeOf frmCtrl Is CheckBox Then
    DirectCast(frmCtrl, CheckBox).Enabled = False
    End If
    If TypeOf frmCtrl Is RadioButton Then
    DirectCast(frmCtrl, RadioButton).Enabled = False
    End If
    If TypeOf frmCtrl Is FileUpload Then
    DirectCast(frmCtrl, FileUpload).Enabled = False
    End If
    If TypeOf frmCtrl Is Button Then
    btn = DirectCast(frmCtrl, Button)
    'If btn.Text.Equals("关闭") OrElse btn.ID.Equals("btnClose") Then
    If btn.ID.Equals("btnClose") Then
    '仅关闭按钮可用
    btn.Enabled = True
    Else
    btn.Enabled = False
    End If
    End If
    If frmCtrl.HasControls Then
    LoopingControlsDisabled(frmCtrl)
    End If
    Next
    End Sub

    您可能感兴趣的文章:
    • ASP.NET MVC的Localization本地化多语言支持
    • asp.net 支持多语言站点的实现方法
    • asp.net 2.0多语言网站解决方法
    • Asp.Net Core MVC项目实现多语言实例(Globalization/Localization)
    上一篇:更方便快捷的外部操作数据库的方法(另类玩法)
    下一篇:ASP.NET(VB)写的后台发送短信实现代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    asp.net web页面元素的多语言化(多国语化)实现分享 asp.net,web,页面,元素,的,