【发布时间】:2012-02-06 03:16:04
【问题描述】:
我有一个下拉 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
-
做到了 AVD!很好的建议。感谢您的帮助和知识 - 直到您提到它,我才想到这一点!
标签: asp.net vb.net visual-studio visual-studio-2010 drop-down-menu