从C#Code Behind调用Javascript Click事件

时间:2017-05-02 15:11:20

标签: javascript c# html asp.net ajax

我在asp.net c#中工作。我有一个母版页,其中包含HTML锚标记,可以在点击时更改网站的文化。

<a id="LinkLanguage" runat="server" href="javascript:void(0)"><asp:Literal ID="langltrl" runat="server" Text="<%$ Resources:skin, Français %>" /></a> 

要处理点击事件,我采取以下方式:

<script type="text/javascript">     
    $("#LinkLanguage").click(function (e) {     
        e.preventDefault();     
            $.ajax({        
            type: "POST",       
            url: "Default.aspx/LinkLanguage_Click",     
            contentType: 'application/json;charset=utf-8',      
            dataType:'json',        
            success: function () { location.reload(); },        
            error: function (xhr, ajaxOptions, thrownError) {       
                alert(xhr.status);      
                alert(xhr.responseText);        
                alert(thrownError);     
            }       
        });     
    });     

</script>

并且正在调用以更改文化语言的Web方法(Default.aspx / LinkLanguage_Click)按以下方式工作:

if (HttpContext.Current.Session["application.language"] != null)
        {
            if (HttpContext.Current.Session["application.language"].ToString() == "en-CA")
            {
                HttpContext.Current.Session["application.language"] = "fr-CA";
            }
            else
            {
                HttpContext.Current.Session["application.language"] = "en-CA";
            }
        }
}

现在,我的问题出在其中一个内容页面上,我想根据条件更改语言。如何调用语言更改锚标记(LinkLanguage)单击事件?

以下代码位于内容页面中:

if (Request.QueryString["Language"] == "FR")
{
   // Want to change language here
}

如果我在这里分配会话,即

HttpContext.Current.Session["application.language"] = "fr-CA";

它需要刷新,如果我执行response.redirect()重新加载页面,它会将错误页面重定向到太多时间。

我怎样才能让它发挥作用,请帮忙。感谢

0 个答案:

没有答案