C# 从asp.net安全站点链接调用模式窗口

C# 从asp.net安全站点链接调用模式窗口,c#,javascript,asp.net,vb.net,C#,Javascript,Asp.net,Vb.net,您好,关于为安全asp.net站点生成模式窗口的所有快速问题。我目前有一个asp测试站点设置,当用户点击登录链接时,它会在一个模态telerik窗口中打开标准asp.net登录页面(login.aspx)。我使用javascript调用这个页面,效果很好 我现在面临的挑战是,当用户单击页面中的链接时,如果该链接指向登录屏幕加载到网站主框架中的安全部分,那么该链接将与弹出窗口相对。我知道为什么(也就是我的js函数没有被调用)我的问题是解决这个问题正确的/可接受的方法是从每个链接/按钮调用一个方法来

您好,关于为安全asp.net站点生成模式窗口的所有快速问题。我目前有一个asp测试站点设置,当用户点击登录链接时,它会在一个模态telerik窗口中打开标准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";
    }
}
public void LinkButton\u单击(对象发送者,事件参数e)
{
if(Request.IsAuthenticated==false)
{
//myalert.Text=“function OpenWin(){var opWin=window.radopen(null,'RadWindow1');opWin.setUrl(opWin.get_navigateUrl());}”;
}
其他的
{
myalert.Text=“无骰子”;
}
}
现在我需要弄清楚如何从这里调用js函数。任何想法都将不胜感激。
再次感谢

要回答您的问题,请尝试

public void LinkButton_Click(object sender, EventArgs e) {
    if (!Request.IsAuthenticated) {
        Page.RegisterClientScriptBlock("myScript", "<script language='javascript'>alert('');</script>");
    }
    else {
        myalert.Text = "no dice";
    }
}
public void LinkButton\u单击(对象发送者,事件参数e){
如果(!Request.IsAuthenticated){
RegisterClientScriptBlock(“myScript”、“警报(“”);”);
}
否则{
myalert.Text=“无骰子”;
}
}

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

谢谢。就安全性而言,我是通过web.config文件/aspnet安全模型来处理这个问题的。即使他们知道URL,除非他们在站点内经过身份验证,他们也无法访问该目录。(安全页面存储在其自己的目录中)