要从ASP.NET Core类库中的视图进行渲染,可以按照以下步骤进行操作:
首先,创建一个ASP.NET Core类库项目。可以使用Visual Studio或者使用命令行工具创建项目。
在类库项目中,添加一个视图文件夹,并在其中创建一个视图文件。可以使用Razor视图引擎创建.cshtml文件。
在视图文件中,编写所需的HTML和Razor代码。
在类库项目中,添加Microsoft.AspNetCore.Mvc
NuGet包,以便使用ASP.NET Core中的MVC功能。
在类库项目的Startup.cs
文件中,添加以下代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 省略其他中间件配置...
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
这将配置MVC功能并设置默认路由。
using Microsoft.AspNetCore.Mvc;
namespace YourNamespace
{
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
}
}
在使用该类库的ASP.NET Core Web应用程序中,将类库项目添加为引用。
在Web应用程序的Startup.cs
文件中,添加以下代码:
public void ConfigureServices(IServiceCollection services)
{
// 省略其他配置...
services.AddControllersWithViews()
.AddApplicationPart(typeof(YourNamespace.HomeController).Assembly);
}
这将添加类库中的控制器和视图。
Startup.cs
文件中,添加以下代码以配置路由:public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 省略其他中间件配置...
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
using Microsoft.AspNetCore.Mvc;
namespace YourWebAppNamespace.Controllers
{
public class HomeController : Controller
{
private readonly YourNamespace.HomeController _libraryHomeController;
public HomeController(YourNamespace.HomeController libraryHomeController)
{
_libraryHomeController = libraryHomeController;
}
public IActionResult Index()
{
return _libraryHomeController.Index();
}
}
}
通过这种方式,可以从类库中的视图进行渲染,并在ASP.NET Core Web应用程序中使用它们。