我有一个下拉asp:listitem框,看起来完全干净,给我。它的功能就像第一次你改变该页面上的语言(说,英语到瑞典语),它确实改变文本到该语言。为什么我必须从asp:listitem框中两次单击语言以更改文化?
你试图改变语言的第二次(瑞典回英文 - 或任何郎),它只是重新加载页面,然后你必须选择英语秒时间真正改变页后退英语。
我试图从后面的代码中删除行,一次一个,但没有改变它。如果有可能告诉可能的原因,任何帮助将真正感激!
我的.aspx页面中是这样的:
<asp:DropDownList ID="ddlCulture" DataTextField="DisplayName"
DataValueField="Name" runat="server" BackColor="#DDE4EC" ForeColor="#465C71"
Width="130px" AutoPostBack="True">
<asp:ListItem Selected="True" meta:resourcekey="MenuItemResourcelangen9">Select
Language</asp:ListItem>
<asp:ListItem Value="en" meta:resourcekey="MenuItemResourcelangen1"></asp:ListItem>
<asp:ListItem Value="es-MX" meta:resourcekey="MenuItemResourcelangen2">
</asp:ListItem>
<asp:ListItem Value="fr" meta:resourcekey="MenuItemResourcelangen3"></asp:ListItem>
<asp:ListItem Value="de" meta:resourcekey="MenuItemResourcelangen4"></asp:ListItem>
<asp:ListItem Value="sv" meta:resourcekey="MenuItemResourcelangen5"></asp:ListItem>
<asp:ListItem Value="ja" meta:resourcekey="MenuItemResourcelangen6"></asp:ListItem>
<asp:ListItem Value="nl" meta:resourcekey="MenuItemResourcelangen7"></asp:ListItem>
<asp:ListItem Value="ru" meta:resourcekey="MenuItemResourcelangen8"></asp:ListItem>
</asp:DropDownList>
我后面的代码是这样的:
Partial Public Class Site
Inherits System.Web.UI.MasterPage
Private Property UICulture As String
Protected Sub InitializeCulture()
If Session("culture") IsNot Nothing Then
UICulture = Session("culture").ToString()
End If
End Sub
Protected Sub ddlCulture_SelectedIndexChanged(sender As Object, e As System.EventArgs)
Handles ddlCulture.SelectedIndexChanged
Session("uiculture") = ddlCulture.SelectedValue
Session("culture") = ddlCulture.SelectedValue
Server.Transfer(Request.Path)
End Sub
End Class
尝试Response.Redirect(Request.Path)而不是Server.Trasfer – adatapost 2012-02-06 03:43:07
这样做了AVD!伟大的建议。我很感谢帮助和知识 - 直到你提到它之前从未想过这件事! – 2012-02-06 09:33:35