基礎知識:什么是ASP.NET Razor頁面?


Razor頁面與ASP.NET MVC開發使用的視圖組件非常相似,它們具有所有相同的語法和功能。

最關鍵的區別是模型和控制器代碼也包含在Razor頁面中。它更像是一個MVVM(Model-View-ViewModel)框架,它支持雙向數據綁定,更簡單的開發體驗,具有獨立的關注點。

您可以認為Razor頁面是WebForms的演變。

 

https://www.cnblogs.com/tdfblog/p/asp-net-razor-pages-vs-mvc.html

 

ASP.NET Core 和 Entity Framework Core

使用依賴注入注冊上下文

using ContosoUniversity.Data;
using Microsoft.EntityFrameworkCore;

 

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<SchoolContext>(options =>
        options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

    services.AddMvc();
}

 

打開appsettings.json文件並添加連接字符串

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=ContosoUniversity1;Trusted_Connection=True;MultipleActiveResultSets=true"
  },
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  }
}

 ASP.NET Core Razor 頁面路由,更改默認的根文件夾

public void ConfigureServices(IServiceCollection services)
{ 
 services 
  .AddMvc(). 
  AddRazorPagesOptions(options => { 
   options.RootDirectory = "/Content";
  }); 
}

 如果您使用的是PageModel,那么是這樣實現的:

using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Mvc.Rendering;
 
namespace RazorPages.Pages
{
 public class ProductModel : PageModel
 {
  public int Id { get; set; }
  public void OnGet(int id)
  {
   Id = id;
  }
 }
}

 

@page "{id}"
@model ProductModel
<p>The Id is @Model.Id</p>

 

public void ConfigureServices(IServiceCollection services)
{
 services
  .AddMvc()
  .AddRazorPagesOptions(options =>
  {
   options.Conventions.AddPageRoute("/extras/products", "product");
  });
}

 

context.Response.ContentType = "text/html";
await context.Response.SendFileAsync($@"{env.WebRootPath}/errors/500.html");

 支持的操作系統

https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/index?view=aspnetcore-2.1&tabs=aspnetcore2x#common-errors

 

IIS部署問題 HTTP Error 502.5 - Process Failure
下載.net framework 4.6.1安裝包

已禁用 CoreWebEngine 或 W3SVC 服務器功能

(W3SVC 服務器功能)找到World Wide Web Publishing Service服務項是禁用

安裝ASP.NET Core 模塊

https://www.microsoft.com/net/download

安裝.NET SDK

https://www.microsoft.com/net/download/dotnet-core/2.0

測試是否安裝成功

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM