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

本篇文章内容比较基础,主要是向大家展示如何创建一个 ASP.NET 5 工程,主要包含内容如下:

  • 创建ASP.NET 5 工程
  • 添加 Todo 控制器
  • 安装 K Version Manager
  • 执行 EF 迁移

打开Visual Studio 2015 Preview。选择 ”File” 菜单,选择New > Project

New Project 对话框中,点击Templates > Visual C# > Web,选择ASP.NET Web Application 工程模板。命名工程为"TodoList",点击OK

添加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");
});

· 运行应用,点击Todo app 链接。点击Create New Todo 链接创建一个新的Todo 项。

关于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 的使用方法。敬请期待.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏施炯的IoT开发专栏

Windows Phone App Studio发布重要更新-支持Windows 8.1 源代码生成

    自2013年8月Apps Team发布Windows Phone App Studio以来,由于其低入门门槛和较好的易用性,用户和项目数量增长迅速,从W...

4015
来自专栏用户2442861的专栏

Notepad++ 更换主题

https://github.com/ajwitte/textmate-goodies

1.1K1
来自专栏Small Code

VSCode Markdown PDF 导出成PDF报 phantomjs binary does not exist 错误的解决办法

问题 VSCode 是微软推出的一款开源的代码编辑器,从 sublime text 转过来后感觉还不错,昨天在用他写 Markdown 文件时想着直接导出 PD...

4488
来自专栏黑泽君的专栏

Win10锁屏壁纸位置在哪? 默认锁屏壁纸怎么提取?

  C:\Users\Bruce\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager...

2.8K1
来自专栏用户2442861的专栏

WIN常用快捷键

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/details...

851
来自专栏FreeBuf

乌龙的CVE-2017-8570样本及背后的狗血

所谓的CVE-2017-8570样本 上周360天眼实验室发现了有国外黑客在Github上发布了CVE-2017-8570漏洞的利用代码,但随即删除,以此之后发...

3435
来自专栏编程

如何在Dynamo中创建UI

我这里说的UI指的是User Interface(用户界面),说白了就是创建窗口,让我们和Dy进行交互。效果大概是这样: ? 接下来我会教大家编写一个简单的界面...

34010
来自专栏Golang语言社区

转-Android上面运行golang

golang最让我心动的,就是交叉编译比较方便,android基本上都是arm处理器,交叉编译过arm的都知道,工具链不一样,往往问题比较麻烦,其中最大的问题在...

5587
来自专栏林德熙的博客

win10 uwp 上传Nuget 让别人用我们的库 Nuget下载打包Nuget上传命令行使用Nuget

我们的开发经常使用别人的dll,那么我们需要每次都从网上下载,然后复制到我们的项目, 而不知道我们的dll是否安全? 当我们的库更新的时候,我们又需要从网上搜索...

1551
来自专栏用户2442861的专栏

17个你必须牢记的Win7快捷键

要在Win7的“资源管理器”中新建一个文件夹,最传统、常规的方式莫过于打开相应分区下的目录,然后右键点击空白处,选择“新建”→“文件夹”。 不过,利用快捷键...

1K1

扫码关注云+社区

领取腾讯云代金券