如何实现ASP.Net系统的中英文版

这篇博客介绍了如何在ASP.Net系统中实现中英文版本的切换。通过设计一个数据表存储控件的Text值,并使用循环遍历Page的控件,从数据库中获取对应语言的Text值进行显示。主要涉及了对Label和Button控件的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

如何实现ASP.Net系统的中英文版,在这里只提供一种方法,不过可以肯定的是Vs.net2005提供的皮肤肯定比这个方法先进和方便。

首先设计一个数据表来存储控件的Text值,表结构如下:

Text(程序名,语言,控件ID,控件Text)

P01101,CN,Label1,登录名

P01101,EN,Label1,UserName

实现算法:循环取得Page的控件,逐一付数据库里的Text值。经典提问:如何循环取得Page的控件呢?

    Dim strSqlCon As String = System.Configuration.ConfigurationSettings.AppSettings("strConPage")
    Dim sqlCon As System.Data.SqlClient.SqlConnection
    Dim sqlCom As System.Data.SqlClient.SqlDataAdapter
    Dim strCom As String
    Dim datSet As System.Data.DataSet
    Protected WithEvents RadioButtonList1 As System.Web.UI.WebControls.RadioButtonList
    Protected WithEvents Label3 As System.Web.UI.WebControls.Label
    Dim datRow As DataRow() '声明datarow数组

Private Sub Text_Init(ByVal ProgramID As String, ByVal Language As String)
        sqlCon = New System.Data.SqlClient.SqlConnection(strSqlCon)
        strCom = "Select * from Text Where Pro='" + ProgramID + "' and Lan='" + Language + "'"
        sqlCom = New System.Data.SqlClient.SqlDataAdapter(strCom, sqlCon)
        datSet = New System.Data.DataSet
        sqlCom.Fill(datSet, "Text")
        Dim control As Control
        For Each control In Page.Controls(1).Controls
            Try
                Dim Label_Control As Label = CType(control, Label)
                datRow = datSet.Tables("Text").Select("Con='" + control.ID + "'")
                Label_Control.Text = datRow(0).Item("Txt")
            Catch ex As Exception
            End Try
        Next
        For Each control In Page.Controls(1).Controls
            Try
                Dim Button_Control As Button = CType(control, Button)
                datRow = datSet.Tables("Text").Select("Con='" + control.ID + "'")
                Button_Control.Text = datRow(0).Item("Txt")
            Catch ex As Exception
            End Try
        Next

        sqlCon.Close()
        sqlCon = Nothing
        sqlCom = Nothing
        datSet = Nothing
End Sub

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值