2013-03-13 100 views
1

如果我点击一个链接(无需登录到该网站),我导航到该页面:错误页面后登录

http://localhost:59196/Login.aspx?ReturnUrl=%2fTest%2fContacts.aspx 

当我登录到我希望被重定向到我的主页,而该网站比测试Contacts.aspx页面。 我该如何解决这个问题?

如果我这样做,那么我没有登录。

protected void Page_Load(object sender, EventArgs e) 
    { 


    } 


    protected void Login1_LoggingIn(object sender, LoginCancelEventArgs e) 
    { 
     Response.Redirect("Home"); 
    } 
+0

您使用的是Web窗体,Web页面还是MVC? – user1166905 2013-03-13 10:07:22

+0

可以分享你的Login.aspx代码隐藏的登录按钮点击代码..? – 2013-03-13 10:23:20

+0

我修好了;)那帮你! – 2013-03-13 10:32:42

回答

0

我必须更改的事件。

protected void Login1_LoggedIn(object sender, EventArgs e) 
    { 
     Response.Redirect("Home"); 
    } 
0

你想重定向到

http://localhost:59196/Login.aspx?ReturnUrl=%2fTest%2fIndex.aspx 

而不是

http://localhost:59196/Login.aspx?ReturnUrl=%2fTest%2fContacts.aspx 

换句话说,链接你点击应该指向上面的第一个链接而不是第二个链接。

问题依然存在,链接是如何产生的?它们是硬编码还是使用MVC并以某种方式生成链接?甚至在你的控制中产生的链接?

它会出现你的代码看ReturnUrl查询字符串参数,并在成功的登录重定向到它。

你是否来到通讯录页面的登录页面?如果是这样的话,ReturnUrl可能已经动态生成,取决于你来自哪里。您可能会要求将其固定为索引页面(我认为这就是您称之为的内容)。但要小心,其他开发人员可能希望这个链接是动态的。

+0

是的,我的意思是对不起我的英语是非常糟糕:) – 2013-03-13 10:10:51

+0

我使用了asp.net配置,并且我没有使用MVC – 2013-03-13 10:12:45

+0

您可能需要将其修改为索引页面 如何设置我的索引页固定在重定向上 – 2013-03-13 10:16:41

1

只要改变你点击链接网址:

http://localhost:59196/Login.aspx?ReturnUrl=Index.aspx 
1

我认为你在测试Contact.aspx页面上点击有出记录,因此你已被重定向到登录页面的查询字符串作为RETURNURL = test contact.aspx,它可能用于从登录页面重定向。

因此,不要使用返回网址查询字符串,您可以直接从登录页面中的登录按钮单击登录页面,将其重定向到您的页面页面。 希望它有效。

我的意思是在

Loginbutton_click() 
{ 
//login validation code here 
//after successful validation 
Response.redirect("Yyourhomepageurlhere"); 
}