C# 在母版页中的函数之前调用页中的函数

C# 在母版页中的函数之前调用页中的函数,c#,asp.net,web,C#,Asp.net,Web,对于母版页中的语言,我具有以下功能: protected void jezikBA_Click(object sender, ImageClickEventArgs e) { Session.Clear(); Session.Add("language", "ba"); imgEN = "~/files/images/lang_en_off.gif"; imgBA = "~/files/images/lang_ba.

对于母版页中的语言,我具有以下功能:

    protected void jezikBA_Click(object sender, ImageClickEventArgs e)
    {
        Session.Clear();
        Session.Add("language", "ba");
        imgEN = "~/files/images/lang_en_off.gif";
        imgBA = "~/files/images/lang_ba.gif";
        Response.Redirect(Request.RawUrl);            
    }


    protected void jezikEN_Click(object sender, ImageClickEventArgs e)
    {
        Session.Clear();
        Session.Add("language", "en");
        imgEN = "~/files/images/lang_en.gif";
        imgBA = "~/files/images/lang_ba_off.gif";
        Response.Redirect(Request.RawUrl);
    }
然后我在第页看到这个:

    if (Session["language"] == "ba" || Session["language"] == null)
    {
               ...
    }

问题是,当我更改语言时,在母版页中更改语言的函数之前会调用页面中的代码。这只发生在两个地方,因为其他地方效果很好。为此,需要首先调用母版页中更改语言的函数,以便在页面中进行适当的语言更改,但是首先调用页面中的函数,然后调用母版页中的函数,这使其变得毫无意义。

在哪种情况下调用页面代码?母版页中的函数是OnClick,页面中的函数是page\u loaded,当单击“语言”按钮时,回发会话变量将具有错误的值,但在重定向之后,它将具有正确的变量,即呈现的页面请求。你是说“语言”会话变量逻辑在重定向后不能正常工作吗?是的,这正是我要说的!尽管如此,我还是用javascript解决了这个问题。