ASP.NET 5系列教程 (二):Hello World


本篇文章內容比較基礎,主要是向大家展示如何創建一個 ASP.NET 5 工程,主要包含內容如下:

  • 創建ASP.NET 5 工程
  • 添加 Todo 控制器
  • 安裝 K Version Manager
  • 執行 EF 遷移

打開Visual Studio 2015 Preview。選擇 ”File” 菜單,選擇New > Project

clip_image002

New Project 對話框中,點擊Templates > Visual C# > Web,選擇ASP.NET Web Application 工程模板。命名工程為"TodoList",點擊OK

clip_image004

添加Todo 控制器

1. 下載完整工程completed project

2. 在工程解決方案管理器中,右鍵點擊Controllers 文件夾> Add > Exiting Item輸入下載工程中的TodoController.cs 文件路徑

3. 使用相同的方法添加 Models\TodoItem.cs Models\TodoItemEditModel.cs 文件到 Models 文件夾。

4. 在Views下創建ToDo 文件夾。使用同樣方法,添加Views\ToDo 文件夾下所有View文件到Views\Todo 文件夾。

5. 更改Views\Shared\_Layout.cshtml 文件下的ActionLink 調用Todo 控制器:

<!DOCTYPE html>
<html>
<head>

<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - Todo</title>

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

<link rel="stylesheet" href="~/css/site.css" />

</head>

<body>

<div class="navbar navbar-inverse navbar-fixed-top">

<div class="container">

<div class="navbar-header">

<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">

<span class="icon-bar"></span>

<span class="icon-bar"></span>

<span class="icon-bar"></span>

</button>

@Html.ActionLink("Todo app", "Index", "Todo", new { area = "" }, new { @class = "navbar-brand" })

</div>

<div class="navbar-collapse collapse">

<ul class="nav navbar-nav">

@* Markup removed for brevity *@

</body>
</html>

6. 添加 DbSet 包含TodoItem 模型到Models\IdentityModels.cs 文件。

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
private static bool _created = false;
public DbSet<TodoItem> TodoItems { get; set; }
// Code removed for brevity.
}

7. 運行app 點擊Todo app 鏈接。你會遇到以下錯誤信息 (將在后續文章中解決這個問題)。


A database operation failed while processing the request.
SqlException: Invalid object name 'TodoItem'.
There are pending model changes for ApplicationDbContext
Scaffold a new migration for these changes and apply them to the database from the command line
> k ef migration add [migration name]
> k ef migration apply

安裝K Version Manager (KVM)

1. 以管理員身份運行Visual Studio 命令提示工具。

2. 執行以下指令:


@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/aspnet/Home/master/kvminstall.ps1'))"


以上指令將為當前用戶安裝KVM。

3. 退出Visual Studio 命令提示工具,重新使用管理員身份運行Visual Studio命令提示工具(你需要使用新的命令提示工具獲取已經更新的路徑環境)。

4. 使用以下指令升級KVM :

KVM upgrade
現在已經可以運行 EF 遷移了。.

執行EF 遷移

1. 在管理員命令提示窗體中,更改當前操作路徑為工程文件夾,工程文件夾下包含project.json 文件。

2. 在命令提示窗體中運行以下指令:

 

k ef migration add initial
k ef migration apply
ef migration add initial

指令將以<date>_<migration name>.cs 命名形式添加一個遷移文件,遷移文件中包含了遷移代碼that adds the TodoItem DbSet. TheMigrations\ApplicationDbContextModelSnapshot.cs 文件file will be updated to include instructions to create theTodoItem entity.

builder.Entity("TodoList.Models.TodoItem", b =>
 {
    b.Property<int>("Id")
   .GenerateValuesOnAdd();
    b.Property<bool>("IsDone");
    b.Property<int>("Priority");
    b.Property<string>("Title");
   b.Key("Id");
});

clip_image006

· 運行應用,點擊Todo app 鏈接。點擊Create New Todo 鏈接創建一個新的Todo 項。clip_image008

關於Todo 控制器

Todo 控制器類似於創建了一個帶有異常的ASP.NET MVC 5 工程。在這個示例中,數據內容被注入到Todo 控制器. 你可以從鏈接中了解更多信息:Dependency Injection in ASP.NET vNext。大家可以將本節介紹的如何創建一個 ASP.NET 5 工程運用在實際開發中,同時還可以利用一些開發工具。ComponentOne Studio for ASP.NET 是ASP.NET平台上的一整套完備的開發工具包,用於在各種瀏覽器中創建和設計具有現代風格的Web應用程序。

以上步驟創建了一個新的ASP.NET 5.0 工程,在下一篇文章中我們將講述View Components 的使用方法。敬請期待.

 

原文地址:View components and Inject in ASP.NET MVC 6


免責聲明!

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



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