如何使用带有角6路由的Web表单Response.redirect?

时间:2018-06-21 18:12:38

标签: asp.net angular webforms angular2-routing url-routing

我已经在Web表单项目的母版页中添加了angular 6应用程序。

<app-root></app-root>
<script type="text/javascript" src="inline.bundle.js"></script>
<script type="text/javascript" src="polyfills.bundle.js"></script>
<script type="text/javascript" src="main.bundle.js"></script>

在Web表单母版页中,我有一个导航栏,其中包含单击链接以导航到其他.aspx页。在母版页.cs文件中,每个链接都有一个单击处理程序。

link.Click += navPrimary_Click;

protected void navPrimary_Click(object sender, EventArgs e)
    {
        Session.Add(SelectedNavItemKeyPrimary, ((LinkButton)sender).Text);
        Session.Add(SelectedNavItemKeySecondary, string.Empty);
        Response.Redirect(((LinkButton)sender).CommandArgument);
    }

成角度的路线如下:

const routes: Routes = [{ path: 'home', component: HomeComponent }];

test.aspx页面在浏览器中可以正常加载(将其称为“ http://localhost/xyz/abc/test.aspx”)。我可以单击导航栏中的链接,浏览器会正确加载其他.aspx页面。在test.aspx页面上,有以下角度代码:

<a routerLink="/home">Angular Home</a>

当我单击“ Angular Home”链接时,test.aspx页面上将显示角度视图,并且浏览器中的URL地址现在显示为“ http://localhost/home”而不是“ http://localhost/xyz/abc/test.aspx”。

现在,当我单击任何导航栏链接时,就会得到以下提示:

“ /”应用程序中的服务器错误。

找不到资源。

描述:HTTP404。您正在寻找的资源(或其依赖项之一)可能已被删除,名称更改或暂时不可用。请查看以下网址,并确保其拼写正确。

请求的URL:/test.aspx

浏览器中的url地址现在显示为“ http://localhost/test.aspx”,而不是“ http://localhost/home”。

0 个答案:

没有答案