在将页面发送到Angular之前,为Razor(仅限ASP.NET网页,没有MVC)编写代码以执行重定向的正确方法是什么?
我在Razor中有一个Angular部分集合,我只想检查用户是否已登录。如果他们已登录,则提供页面服务。如果没有,则重定向到登录部分。
编辑:我的第一次尝试是将@{Reponse.Redirect("/myapp#/login");}
放在页面顶部,但这只会冻结页面,可能是因为重定向发生在服务器上,但URL格式是针对客户端的Angular 。
编辑:我第二次尝试使用@{Reponse.Redirect("~/partials/login.cshtml");}
重定向到实际的部分也会冻结。
答案 0 :(得分:1)
尝试调用Response.Redirect的各种方法都没有用。
相反,有效的解决方案是使用@RenderPage
呈现登录页面而不是实际内容(如果用户未登录)。
@if(notLoggedIn)
{
@RenderPage("~/views/login.cshtml");
}
else
{
<div id="regularPageContents">
....
</div>
}
答案 1 :(得分:0)