<a> tag problems and code behind problems</a>

时间:2014-03-23 18:50:56

标签: c# asp.net

我遇到了一个问题,我无法找到解决方案。

代码

<a runat="server" href="#" onclick="login_box();">
    <asp:Label ID="LabelLogin" runat="server" Text=""></asp:Label>
</a>

代码背后

protected void Page_Load(object sender, EventArgs e)
{
    if (Session["UserId"] == null)
    {
        LabelLogin.Text = "Login";
    }
    else
    {
        LabelLogin.Text = "Logud";
    }
}

没关系,但现在问题是。

我现在也希望这个'a'标签的onclick,但它已经有一个“onclick”打开登录框,这个检查是否登录,如果你没有登录,然后它应该打开“onclick login_box();”如果没有,那么它应该注销。

单击“登录”或“注销”时使用。

我需要一个解决方案,因为我如何在后面的代码中执行“onclick login_box”。我应该为点击做些什么,我可以将“login_box”移动到“onclientclick”然后我可以使用“onclick”吗?

if (Session["UserId"] == null)
{
    //Opens the login box
}
else
{
    Session.Abandon();
    Response.Redirect("~/default.aspx");
}

1 个答案:

答案 0 :(得分:0)

这是你在C#中调用JavaScript函数的方法

public string functionname()
{

      Page page = HttpContext.Current.CurrentHandler as Page;
      page.ClientScript.RegisterStartupScript(typeof(Page), "CallMyClick", "<script type='text/javascript'>login_box();</script>");

}

使用Javascript访问ASP.NET Session变量:

<script type="text/javascript">

    function LoginLogOut()
    {

        var userId = '<%= Session["UserId"] %>';
        if(userId != undefined)
        {
    document.getElementById("giveIdToAnchroTag").onclick = function (){LoginFunction();};
    }
    else
    {
    document.getElementById("giveIdToAnchroTag").onclick = function (){logOutFunction();};

    }

 }
    </script>