【从实作学习ASP.NET Core】Day03 | Controller 控制器


今天我们就来实作看看 Controller 控制器吧!

这篇可以搭配官方说明文件食用:Part 2, add a controller to an ASP.NET Core MVC app


路由

如同昨天说的,使用者需要用网址路径来向程序发出请求
而 MVC 预设的网址路径为: https://[你的网路位置:port]/[Controller名称]/[Action名称]
在不输入Action名称的情况下,则会自动导向Index()
等一下就会用到这个路由来向 Controller 发出请求

新增控制器

照以下步骤建立一个新的Controller
[ 在Controller资料夹右键 -> 新增 -> Controller -> 新增一个空白的 Controller 并命名为 HelloWorldController.cs ]

Controller 的请求与回传值

接着把 Controller 的程序码替换成以下

using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace OnlineShopCMS.Controllers
{
    public class HelloWorldController : Controller
    {
        public string Index()
        {
            return "This is Default Action : Hello World";
        }
    }
}

试着执行并在网址输入:https://localhost:44356/HelloWorld,就会发现得到Index()这个动作所回传的字串了

向 Controller 传递参数

再新增一个 Action 名为 Welcome(),在可传入参数加上字串Name,并回传内容

using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace OnlineShopCMS.Controllers
{
    public class HelloWorldController : Controller
    {
        public string Index()
        {
            return "This is Default Action : Hello World";
        }

        public string Welcome(string Name)
        {
            return "This is the Welcome Action : Hello, " + Name + " !!";
        }
    }
}

网址最後面加上?即可加入参数设定
这次试着访问 Welcome 并且输入参数 Name=John 来看看
输入网址:https://localhost:44356/HelloWorld/Welcome?Name=John

会发现我们在网址上打的 John 已经成功传入 Controller 里面了

以上是 Controller 的基本操作


<<:  Day 15 self-attention的实作准备(一)

>>:  未来狂想:工业技术发展

企划实现(25)

在fragment里面使用元件 常常在写程序时会遇到再fragment抓不到元件的事情 用这个方式就...

视觉化KBARS(4)-controller

今天要来写controller的部分, (1)controller新称showOneMinKbar方...

【D12】制作图表:加权指数和交易金额的图表

前言 进行观察还是需要用图表表示,这时候叠图就很好用。之前都一张一张画,现在呈现叠图的方式。 本日程...

[Day20] Scrum失败经验谈 – 只想得太大太远

Scrum是大家想要导入的文化与工具,在分享了很多工具、体会和方法後,感觉是个好时机要来讲如何导入s...

Day29 利用web发送讯息(上)

当我们网页建立了基本的authentcation,接着就能开始建立我们的功能,首先在web上的htm...