我有链接按钮和Onclick事件我从后面的代码重定向页面。我的代码如下:
<asp:LinkButton ID="UserRoleLinkButton" runat="server" OnClick="UserRoleLinkButton_Click"></asp:LinkButton>
我已经设置了链接按钮的文字,如下所示:
string[] roleNames = Roles.GetRolesForUser(Page.User.Identity.Name);
if (roleNames.Count() > 1)
{
UserRoleLinkButton.Visible = true;
UserRoleLinkButton.Text = roleNames[1].ToString();
}
在代码背后我正在做这个
protected void UserRoleLinkButton_Click(object sender, EventArgs e)
{
try
{
if (UserRoleLinkButton.Text == "SuperAdmin")
{
Response.Redirect(@"~/Admin/AdminHome.aspx");
}
else if (UserRoleLinkButton.Text == "YPAdmin")
{
Response.Redirect(@"~/Admin/YellowPages/NotificationMaster.aspx");
}
else if (UserRoleLinkButton.Text == "YPOperator")
{
Response.Redirect(@"~/Admin/YellowPages/ManageListing.aspx");
}
else
{
Response.Redirect(@"~/Account/MyProfile.aspx");
}
}
catch (Exception ex)
{
BRMessengers.BRError(this, "Server Error");
log.Fatal(HttpContext.Current.Request.Url + " Message : " + ex.Message, ex);
}
}
这段代码有什么问题吗?如果是这样的话。首先点击它会显示404错误(找不到页面)
注意[当我第二次点击它工作正常] 我试过javascript但结果是一样的。这是我的javascript代码
<script type="text/javascript">
function pageLoad(sender, args) {
$("#UserRoleLinkButton").live("click", function () {
if ($('[id$=UserRoleLinkButton]').text() === "SuperAdmin") {
alert('Test');
window.location.pathname = "Admin/AdminHome.aspx";
}
else if ($('[id$=UserRoleLinkButton]').text() === "YPAdmin") {
alert('Test1');
window.location.pathname = "Admin/YellowPages/NotificationMaster.aspx";
}
else if ($('[id$=UserRoleLinkButton]').text() === "YPOperator") {
alert('Test2');
window.location.pathname = "Admin/YellowPages/ManageListing.aspx";
}
else {
alert('Test3');
window.location.pathname = "Account/MyProfile.aspx";
}
});
}
</script>
任何解决方案肯定都是适用的。
我已经看到这个问题供参考