0

我的aspx文件中有一个这样的菜单控件

        <div><ul>
            <li class="menuitem"><a href="res_home.aspx">Home</a></li>
            <li class="menuitem"><a href="res_profile.aspx">Profile</a></li>
            <li class="menuitem"><a href="res_add_profile.aspx">Add profile</a></li>
            <li class="menuitem"><a href="res_category.aspx">Category</a></li>
            <li class="menuitem"><a href="res_employers.aspx">Employers</a></li>
            <li class="menuitem"><a href="res_login.aspx">Logout</a></li>
        </ul>
    </div>

如何.cs在按下logout main项目时调用文件中定义的函数。实际上我想清除所有会话变量以防止用户在按下项目后返回页面logout menu...cs文件包含的功能为

 protected void fun(object sender, EventArgs e)
{
    Session.Abandon();
    Session.Clear();
    Response.Redirect("res_login.aspx");
}

我正在使用visual studio 2008Mozilla作为浏览器。

4

2 回答 2

1

创建一个单独的页面 Logout.aspx 并将注销菜单项的链接指向该页面。

Page_Load然后,您可以在 Logout.aspx的处理程序中使用您的代码来放弃会话并重定向到登录页面。

于 2013-06-20T11:36:57.657 回答
0

嘿,有两种方法可以完成您的任务。

1 使用 Asp Link 按钮和 On click 链接按钮执行服务器端编码以注销。

<asp:LinkButton ID="lnkLogout" runat="server" OnClick="lnkLogout_Click"></asp:LinkButton>

protected void lnkLogout_Click(object sender, EventArgs e)
{
    //Do Work
}

2 在 Jquery 和 Ajax Call 的帮助下完成您的任务。

$('#btnLogout').live("click", function () {
    CallAjaxLogout();
    window.location.href = window.referer = "LogOut.aspx";
});

function callAjaxGetJoiningDate(hashVal) {
var address = "Logout.aspx";
$.ajax({
    type: 'POST',
    url: address,
    data: { empCode: "em01"},
    beforeSend: function () {
        // this is where we append a loading image
        $('#ajax-panel').html('<div class="loading"><img src="images/loading.gif" alt="Loading..." /></div>');
    },
    success: function (data) {
        // successful request; do something with the data
        $('#ajax-panel').empty();


    },
    error: function () {
        // failed request; give feedback to user
        $('#ajax-panel').html('<p class="error"><strong>Oops!</strong> Try that again in a few moments.</p>');
    }
});

}

并在注销页面加载事件上编写 .CS 代码。

 if (Request.Form["empCode"] != null)
            {
               Session.Abandon();
               Session.Clear();
               Response.Output.Write("Password Change");
               Response.Flush();
               Response.End();
            }

希望对您有所帮助。

于 2013-06-20T11:44:29.533 回答