从asp.net安全站点链接调用模态窗口

时间:2011-01-28 21:01:36

标签: c# javascript asp.net vb.net

你好快速提问一个安全的asp.net网站的模态窗口。我目前有一个asp测试站点设置,当用户点击登录链接时,它会在模式telerik RadWindow中打开标准的asp.net登录页面(login.aspx)。我使用javascript调用此页面,这很好。

我现在面临的挑战是当用户点击页面中的链接时,如果该链接指向登录屏幕加载在网站主框架中的安全部分而不是弹出窗口。我意识到为什么(也就是我的js函数没有被调用)我的问题是要解决这个问题,正确/可接受的方法是从每个测试用户认证的链接/按钮调用一个方法吗?如果用户通过身份验证,然后重定向到页面,否则调用javascript函数打开窗口?

或者可以在javascript中完成吗?

我已经离开asp.net一段时间了,我有点生疏了。任何提示或指示都将非常感激。

提前致谢

更新 好的,所以我现在有一些进展,至少可以确定用户是否经过验证。由于我正在使用forsm auth,我可以使用ISAUthenticated

来测试它
public void LinkButton_Click(object sender, EventArgs e)
{
    if (Request.IsAuthenticated == false)
    {
       // myalert.Text = "<script language type='text/javascript'> function OpenWin() {var opWin = window.radopen(null, 'RadWindow1');opWin.setUrl(opWin.get_navigateUrl());}</script>";
     }
    else
    {
        myalert.Text = "no dice";
    }
}

现在我需要弄清楚如何从这里调用js函数。任何想法,将不胜感激。 再次感谢

1 个答案:

答案 0 :(得分:0)

要回答您的问题,请尝试

public void LinkButton_Click(object sender, EventArgs e) {
    if (!Request.IsAuthenticated) {
        Page.RegisterClientScriptBlock("myScript", "<script language='javascript'>alert('');</script>");
    }
    else {
        myalert.Text = "no dice";
    }
}

但是,您应该在页面加载时检查身份验证,而不是在它之前检查。如果有人知道您的安全页面的URL并直接访问它会怎么样?