实施会议

时间:2011-04-01 16:07:04

标签: asp.net vb.net

我有一段代码可以加载法语或英语文本以及2个允许切换的链接按钮。

<%              
if publierFR = 0 Then
    if publierEN = 0 Then
        response.write("<p>Aucun texte n'est disponible.</p>")
    else
        response.write(texteEN)
    end if
else
    if publierEN = 1 or Session("lang") = "EN" then
%>          
        <asp:LinkButton OnClick="makeVisibleEN" ID="makeEN" runat="server" visible="false">Version Française</asp:LinkButton>           
        <asp:LinkButton OnClick ="makeVisibleFR" ID="makeFR" runat="server" visible="true">Version Anglaise</asp:LinkButton>
<%
        if makeEN.visible = true then
            response.write(texteEN)
        else
            response.write(texteFR)
        end if
    elseif publierEN = 0 or Session("lang") = "FR" then
        Response.write(texteFR)
    end if
end if
%>

如果英语和法语都存在且会话存在于EN或FR中,那么显示链接按钮和文本的有效方式是什么。

我曾想过使用面板隐藏按钮或文本,但主要问题是让页面刷新以设置Session变量。 Response.redirect(URL)刷新我认为的页面,我找不到更好的方式来显示除Response.write之外的文本,因为那时我需要大量的标签。

1 个答案:

答案 0 :(得分:0)

您应该使用.NET(和ASP.NET)本机本地化功能,只需更改正在执行页面的线程的文化。如果需要(或在其他地方:在数据库中,在cookie中,在呈现的页面中,在视图状态中等等),您仍然可以将该文化存储在会话中。

以下是ASP.NET本地化的一些链接:

Best practices for ASP.NET web application localization

Asp.net multilingual web application - localization