0

私のウェブサイトはVS 2010/vbを使用して10ヶ国語でローカライズされています。フラグを最初にクリックすると、その言語に変更されます。しかし、別の言語をクリックすると、切り替えられません。私はそれを切り替えるために別の時間をクリックしなければならない。誰か私の問題が何であるか知っていますか?ローカリゼーション:言語を変更するには、フラグを2回クリックする必要があります。私のコードに何か間違っていますか?

ここに私のコードは私のhomepage.master.vbのための背後にあるのです。

Imports System 
Imports System.Data 
Imports System.Configuration 
Imports System.Collections 
Imports System.Web 
Imports System.Web.Security 
Imports System.Web.UI 
Imports System.Web.UI.WebControls 
Imports System.Web.UI.WebControls.WebParts 
Imports System.Web.UI.HtmlControls 
Imports Udev.MasterPageWithLocalization.Classes 

Partial Public Class _Default 
    Inherits BasePage 
    Protected Sub Page_Load(sender As Object, e As EventArgs) 
    End Sub 
End Class 

任意の提案や指導を大幅に次のようになります。ここでは

Imports System 
Imports System.Data 
Imports System.Configuration 
Imports System.Collections 
Imports System.Web 
Imports System.Web.Security 
Imports System.Web.UI 
Imports System.Web.UI.WebControls 
Imports System.Web.UI.WebControls.WebParts 
Imports System.Web.UI.HtmlControls 
Imports Udev.MasterPageWithLocalization.Classes 
Partial Public Class Homepage 
Inherits System.Web.UI.MasterPage 
Protected Sub Page_Load(sender As Object, e As EventArgs) 
End Sub 

Protected Sub RequestLanguageChange_Click(sender As Object, e As EventArgs) 
    Dim senderLink As LinkButton = TryCast(sender, LinkButton) 

    'store requested language as new culture in the session 
    Session(Udev.MasterPageWithLocalization.Classes.Global.SESSION_KEY_CULTURE) = 
    senderLink.CommandArgument() 

    'reload last requested page with new culture 
    Server.Transfer(Request.Path) 
End Sub 
End Class 

は私default.aspx.vbのための背後に私のコードです感謝!

答えて

1

これはおそらくASP.netのライフサイクルと関係があります。リンクボタンをクリックすると、ページがリロードされてから、RequestLanguageChange_Clickイベントが実行されます。つまり、セッション変数が変更される前にページが読み込まれます。ただし、server.transferを実行するので、ダブルリフレッシュを除いて問題にはなりません。私はライフサイクルについて多くはありませんが、あなたはそれをチェックしてください、おそらくそれはあなたを助けるでしょう。

+0

危険に反応する時間をとっていただきありがとうございます....プログラマーではなく、私はライフサイクルを見ていきます。再度、感謝します! –

関連する問題