首页 > 解决方案 > Angular templateUrl:MVC 控制器功能

问题描述

首先,感谢您抽出宝贵时间。

我的问题是我想获得一个 .cshtml(从 MVC 控制器返回)作为我的 Angular 站点的模板。

起初我创建了一个 ASP.Net Core 2.1 Web 应用程序模板:Angular。其次,我在“控制器”文件夹中添加了一个主控制器。

using Microsoft.AspNetCore.Mvc;

// For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860

namespace WebApplication4.Controllers
{
    public class HomeController : Controller
    {
        // GET: /<controller>/
        public IActionResult Index()
        {
            return View();
        }
    }
}

下一步是在“Pages”文件夹中创建一个名为“Home”的文件夹。在主文件夹中,我创建了一个名为“index.cshtml”的剃须刀视图,其中填充了一个

<h1>This is the Index View</h1>

现在我将 app.component.ts 中的 templateUrl 更改为

templateUrl: '/home/index',

我在stackoverflow的一篇文章中看到了所有这些。我丢失了链接,但这是那个人用它发布的 github:https ://github.com/ranjanmadhu/Angular2-101

现在我打开我的 cmd,cd 到项目的路径并尝试通过 ng build 来构建它。

问题来了,它向我抛出了这个错误:

ERROR in ./src/app/app.component.ts
Module not found: Error: Can't resolve './/home/index' in 'C:\Users\Myridor\AngularMvcTest\AngularMvcTest\ClientApp\src\app'

我希望有人可以帮助我解决问题。

最好的问候, Nico aka。万里多

标签: c#asp.net-mvcangularvisual-studio

解决方案


我从来没有想过这样的方法(通过 templateUrl 混合 Razor 和 Angular)。我不确定这是否是个好主意。如果您坚持,我认为这篇文章可能会对您有所帮助:Stating directive templateUrl relative to root

祝你好运!


推荐阅读