Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET核心应用程序使用一些有角度的4页(->;ASP.NET核心路由)_Asp.net_Angular - Fatal编程技术网

ASP.NET核心应用程序使用一些有角度的4页(->;ASP.NET核心路由)

ASP.NET核心应用程序使用一些有角度的4页(->;ASP.NET核心路由),asp.net,angular,Asp.net,Angular,我们有一个现有的ASP.NET核心应用程序,其中包含许多控制器和视图(具有用于双向绑定的敲除功能)。 现在需要使用Angular 4构建新页面(视图),但应用程序的其余部分应该保持不变 管理层表示,它应该像以前的淘汰版扩展一样,无缝集成到ASP.NET核心视图中。这意味着每一页都应该是一个独立的角度4 SPA。这要求路由必须使用ASP.NET CORE而不是Angular 4完成 问:这是否可行?如果是,如何进行 问题:有没有比这种方法更好的策略来扩展现有的ASP.NET核心应用程序(包含4个部

我们有一个现有的ASP.NET核心应用程序,其中包含许多控制器和视图(具有用于双向绑定的敲除功能)。 现在需要使用Angular 4构建新页面(视图),但应用程序的其余部分应该保持不变

管理层表示,它应该像以前的淘汰版扩展一样,无缝集成到ASP.NET核心视图中。这意味着每一页都应该是一个独立的角度4 SPA。这要求路由必须使用ASP.NET CORE而不是Angular 4完成

  • 问:这是否可行?如果是,如何进行
  • 问题:有没有比这种方法更好的策略来扩展现有的ASP.NET核心应用程序(包含4个部分)
  • 编辑: 到目前为止,我不明白的是如何通过ASP.NET内核结合Angular4提供路由。在ASP.NET中,我们使用_Layout.cshtml作为常见的布局代码,其中包括用于导航的@Html.Partial(_导航)和用于呈现视图的@RenderBody()。我们希望使用razor局部视图作为角度模板。这是如何描述的。
    但是如何使用ASP.NET路由实现这一点呢?

    Angular的一个关键目的是编写单页应用程序(或SPA)。这并不意味着它听起来像什么。其想法是,用户可以在Angular应用程序中无缝地从“页面”移动到“页面”,而无需点击服务器请求下一页。因此,从服务器的角度来看,它为客户端提供了一个页面。。。然后Angular接管并显示所有10、50或100的视图

    保留ASP.NET路由并在Angular中重写每个页面将是毫无意义的

    举一个更具体的例子,假设您有一个产品管理应用程序。在Angular中,您可以编写每个视图:产品列表、产品详细信息、产品编辑、产品历史记录等。当用户访问应用程序时。。。所有视图都已下载。然后,角度路由在这些视图之间移动用户,而无需再次点击服务器获取另一个页面

    如果每个视图都是ASP.NET视图,则ASP.NET将为产品列表页面提供服务。然后,如果用户要查看详细信息,他们必须等待服务器提供产品详细信息页面。然后,如果用户返回到产品列表页面,用户将不得不等待服务器再次为产品列表页面提供服务

    因此,我的建议是告诉管理层学习一门有角度的课程(如果他们感兴趣,我有一门),或者让开发人员做出适当的体系结构选择。:-)

    说真的。。。如果您仍然计划从ASP.NET为每个单独的页面提供服务,那么似乎会有一大笔费用,而收益却微乎其微


    也许这就是答案。。。问问他们,通过转向Angular,他们真正想要实现什么。

    我找到了一个符合我们要求的解决方案。对于每个“迷你SPA”,我都创建了必要的文件(
    NgModule
    main.ts
    )来引导它们。然后,我添加了一个控制器,该控制器提供包含不同“迷你SPA”的load命令的cshtml视图。在ASP.NET导航中引用它们非常有效

    您可以将路由绑定到angular4中的组件,但路由本身可以由ASP.NET Core完成,因为angular4将把您的URL映射到所讨论的组件,因此无论您如何更改路由。angular4的原因或多或少是淘汰的生命结束(控制支持等)。我的解释不够精确:当然,您的产品管理应用程序示例将按照您在本文中所述的方式实现。但是如果你有一个额外的帐户管理应用程序和订单管理应用程序,那么它们中的每一个都应该作为一个单独的AngularJS应用程序实现,ASP.NET CORE应该在它们的入口点之间进行路由。这更有意义,并且是AngularJS(v1)的常用方法。他们甚至给它起了个名字。。。像“迷你温泉”之类的东西。。。我还没听过太多关于Angular v2+的介绍,谢谢!你表达的“迷你水疗”引导我进入正确的方向,思考如何引导一个有角度的应用程序。