ASP.NET React Redux模板+ _Layout.cshtml

问题描述

我想开发一个具有React前端功能,Asp.net用于后端以及一些asp.net视图用于前端的网站。我不想在整个应用程序中使用React。当我开始新项目时,我使用Visual Studio 2019中准备好的ASP.NET React Redux模板。一切都很好,但是我找不到_Layout.cshtml。

为什么我需要这个文件

当我选择经典的Asp.net mvc模板时,可以在此文件中找到css,js以及bootstrap之类的包。

f.e:

<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />

如果我不需要经典的asp.net视图,则该模板会有所帮助。我该如何修复它,或在哪里导入也可用于视图的文件/包?

解决方法

在Microsoft提供的ASP.NET Core + React模板中,布局不是在使用ASP的后端处理,而是在使用React的前端处理。在ClientApp / src / components文件夹中,您将找到用于此用法的Layout.js文件。

但是,没有什么可以阻止您创建局部视图_Layout.cs并将Razor Pages / MVC用作React叠加层。这样,应使用ASP控制器处理每个页面。如果需要,您可以在其中添加一个空HTML标记以放置您的React App。

在ClientApp / src / index.js文件中,您将找到以下行:

const rootElement = document.getElementById('root');

您需要用要在DOM中呈现React应用程序的元素ID替换元素ID。


但是通常,将ASP与React一起使用时,前端完全留给React。 ASP仅对处理来自React的AJAX请求并使用Entity Framework与数据库进行交互的API控制器有用。