首先让我解释一下,我有.NET编程背景,我是Angularjs的新手。
我有一个MVC 5应用程序,我希望包含一个使用Angularjs作为单页面应用程序构建的新部分。
到目前为止,我有一个带有索引操作的MVC 5控制器。在Index.cshtml视图中是使用Angularjs创建的SPA,它使用路由器模块。 Angular调用其他html格式的页面。
我的问题是html页面引用这样的图像:
<img src="img/image.png">
但是当应用程序托管在根文件夹中时,路径不正确。
我需要这样做:<img src="@Url.Content("~/img/image.png")">
格式化图像的正确路径,但我不能在html页面中这样做。
你能告诉我如何将它们从.html转换为.cshtml以使用Razor的帮助吗?另外我需要知道建议将这些页面相对于Index.cshtml放在标准的MVC 5应用程序中吗?
答案 0 :(得分:0)
如果您希望AngularJs模板位于.cshtml(Razor)中,则需要为它们创建部分操作。在您的mvc控制器中创建一个操作,并像在普通MVC中一样返回视图。您需要考虑的是,您需要将布局设置为null
,以便在显示这些部分视图时不会获得完整的布局。然后,在Angular中,您需要通过其完整路径引用此操作。