Asp.net 一旦我添加了全局资源语言,我如何给客户端选择哪种语言的选项?

Asp.net 一旦我添加了全局资源语言,我如何给客户端选择哪种语言的选项?,asp.net,.net,visual-studio,visual-studio-2010,localization,Asp.net,.net,Visual Studio,Visual Studio 2010,Localization,我在公司的网站上增加了3种语言fr、es mx、de和英语,它们都很好用。我跟着火车走 我正在使用Visual Studio 2010/VB/dot net 4.0,我的所有页面的顶行中都有以下内容: <%@ Page Title="USS Products & Services" Language="VB" MasterPageFile="~/products/products.Master" AutoEventWireup="false" CodeFile="default

我在公司的网站上增加了3种语言fr、es mx、de和英语,它们都很好用。我跟着火车走

我正在使用Visual Studio 2010/VB/dot net 4.0,我的所有页面的顶行中都有以下内容:

  <%@ Page Title="USS Products & Services" Language="VB" MasterPageFile="~/products/products.Master" AutoEventWireup="false"
CodeFile="default.aspx.vb" Inherits="default" culture="auto" meta:resourcekey="PageResource1" uiculture="auto" %>
我的全局应用程序目录中有4个全局资源.resx文件。但是如果我不想让浏览器单独检测他们的语言呢?我想让他们选择自己的语言

我如何让客户机在4个标志(每种语言1个标志)之间选择,并让他们选择?或者是一种翻滚式的网站地图效果,他们可以将鼠标移到一种语言上并选择它?任何帮助都将不胜感激!谢谢

试试这个简单的方法: 我在下拉列表中定义了语言,并有一个选择按钮

<asp:DropDownList ID="ddlCulture" DataTextField="DisplayName" DataValueField="Name"
         runat="server" >
        <asp:ListItem Value="es-MX">Spanish</asp:ListItem>
        <asp:ListItem Value="en-US">English</asp:ListItem>
    </asp:DropDownList>
<asp:Button ID="btnSelect" Text="Select" runat="server" OnClick="btnSelect_Click" />
更新:对不起,我忘记了覆盖关键字。现在它应该可以工作了

顺便说一下,你正在使用VB,很抱歉我看到了这个。等效代码为:

 Protected Sub btnSelect_Click(ByVal sender As Object, ByVal e As EventArgs)
    Session("uiculture") = ddlCulture.SelectedValue
    Session("culture") = ddlCulture.SelectedValue
    Response.Redirect(Request.Path)
End Sub
Protected Overrides Sub InitializeCulture()
    If Not Session("culture") Is Nothing Then
        UICulture = Session("culture").ToString()
    End If
End Sub
尝试以下简单方法: 我在下拉列表中定义了语言,并有一个选择按钮

<asp:DropDownList ID="ddlCulture" DataTextField="DisplayName" DataValueField="Name"
         runat="server" >
        <asp:ListItem Value="es-MX">Spanish</asp:ListItem>
        <asp:ListItem Value="en-US">English</asp:ListItem>
    </asp:DropDownList>
<asp:Button ID="btnSelect" Text="Select" runat="server" OnClick="btnSelect_Click" />
更新:对不起,我忘记了覆盖关键字。现在它应该可以工作了

顺便说一下,你正在使用VB,很抱歉我看到了这个。等效代码为:

 Protected Sub btnSelect_Click(ByVal sender As Object, ByVal e As EventArgs)
    Session("uiculture") = ddlCulture.SelectedValue
    Session("culture") = ddlCulture.SelectedValue
    Response.Redirect(Request.Path)
End Sub
Protected Overrides Sub InitializeCulture()
    If Not Session("culture") Is Nothing Then
        UICulture = Session("culture").ToString()
    End If
End Sub

嗨,努克斯。谢谢你的回复。问这个问题我觉得很傻,但是我应该把你建议的第二段代码放在哪里呢?我知道该把按钮放在哪里。但是编码呢?再次感谢你的帮助!我将代码放在页面底部,没有生成错误。我试着点击西班牙语和英语等,但这并没有改变网络浏览器上的语言。它将其放在页面顶部:protected void bSelection_Clickobject sender,EventArgs e{Session[uiculture]=ddlCulture.SelectedValue;Session[culture]=ddlCulture.SelectedValue;Response.RedirectRequest.Path;}protected void InitializeCulture{ifSession[culture]!=null uiculture=Session[culture].ToString;}我更新了最后一个方法。所以试试看。放置方法的位置没有问题,请将其放置在bttn事件之后或代码中标记后面或标记之间的任何位置。让我知道任何进展。谢谢!非常感谢你,努克斯!它工作得很好!这太棒了。我会把这个放在我的主页上,然后从那里开始。谢谢你的帮助和耐心,我很感激!嘿,努克斯,如果你还在这里,我只是好奇。它适用于英语、法语、西班牙语、墨西哥语和德语。但当我使用瑞典语或日语时,它会显示页面未找到,并且不会刷新。这是我最近添加的两种语言。我会回顾我的步骤,确保我做得正确。嗨,努克斯。谢谢你的回复。问这个问题我觉得很傻,但是我应该把你建议的第二段代码放在哪里呢?我知道该把按钮放在哪里。但是编码呢?再次感谢你的帮助!我将代码放在页面底部,没有生成错误。我试着点击西班牙语和英语等,但这并没有改变网络浏览器上的语言。它将其放在页面顶部:protected void bSelection_Clickobject sender,EventArgs e{Session[uiculture]=ddlCulture.SelectedValue;Session[culture]=ddlCulture.SelectedValue;Response.RedirectRequest.Path;}protected void InitializeCulture{ifSession[culture]!=null uiculture=Session[culture].ToString;}我更新了最后一个方法。所以试试看。放置方法的位置没有问题,请将其放置在bttn事件之后或代码中标记后面或标记之间的任何位置。让我知道任何进展。谢谢!非常感谢你,努克斯!它工作得很好!这太棒了。我会把这个放在我的主页上,然后从那里开始。谢谢你的帮助和耐心,我很感激!嘿,努克斯,如果你还在这里,我只是好奇。它适用于英语、法语、西班牙语、墨西哥语和德语。但当我使用瑞典语或日语时,它会显示页面未找到,并且不会刷新。这是我最近添加的两种语言。我将回顾我的步骤,以确保我正确地完成了它们。