• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

将控制器添加到ASP.NETCoreMVC应用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

基于 MVC 的应用包含:

  • 更新后的数据将写入到数据库。

  • 此 UI 通常会显示模型数据。

  • 本教程的后续部分中将介绍路由数据。

例如,处理视图代码时不必依赖业务逻辑代码。

添加控制器

  • Visual Studio
    • 在“添加基架”对话框中,选择“MVC 控制器 - 空”

    • 在“添加空 MVC 控制器”对话框中,输入 HelloWorldController 并选择“ADD” 。

  • Visual Studio Code

    选择“EXPLORER”图标,然后按住 Control 并单击(右键单击)“控制器”,选择“新建文件”,然后将新文件命名为 HelloWorldController.cs 。

  • Visual Studio for Mac
  • ASP.NET Core”和“MVC 控制器类”。

    将控制器命名为“HelloWorldController”。

将“Controllers/HelloWorldController.cs”的内容替换为以下内容 :

using Microsoft.AspNetCore.Mvc;
using System.Text.Encodings.Web;
 
namespace MvcMovie.Controllers
{
    public class HelloWorldController : Controller
    {
        //
        // GET: /HelloWorld/
 
        public string Index()
        {
            return "This is my default action...";
        }
 
        //
        // GET: /HelloWorld/Welcome/
 
        public string Welcome()
        {
            return "This is the Welcome action method...";
        }
    }
}

请注意每个方法前面的注释。

HTTP 终结点是 Web 应用程序中可定向的 URL(例如 https://localhost:5001/HelloWorld),其中结合了所用的协议 HTTPS、TCP 端口等 Web 服务器的网络位置 localhost:5001,以及目标 URI HelloWorld

本教程稍后将使用基架引擎生成 HTTP POST 方法,用于更新数据。

Index 方法返回一个字符串。

URL 路由逻辑使用如下格式来确定调用的代码:

/[Controller]/[ActionName]/[Parameters]

在 Startup.cs 文件的 Configure 方法中设置路由格式 。

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
});

如果浏览到应用且不提供任何 URL 段,它将默认为上面突出显示的模板行中指定的“Home”控制器和“Index”方法。

本教程的后续部分中将介绍路由数据。

目前尚未使用 URL 的 [Parameters] 部分。

更改 Welcome 方法以包括以下代码中显示的两个参数:

// GET: /HelloWorld/Welcome/
// Requires using System.Text.Encodings.Web;
public string Welcome(string name, int numTimes = 1)
{
    return HtmlEncoder.Default.Encode($"Hello {name}, NumTimes is: {numTimes}");
}

前面的代码:

  • 使用 C# 可选参数功能指示,未为 numTimes 参数传递值时该参数默认为 1。
  • 使用 HtmlEncoder.Default.Encode 防止恶意输入(即 JavaScript)损害应用。
  • 内插字符串。

运行应用并浏览到:

https://localhost:{PORT}/HelloWorld/Welcome?name=Rick&numtimes=4

模型绑定。

& 字符将字段/值对分隔开。

将 Welcome 方法替换为以下代码:

public string Welcome(string name, int ID = 1)
{
    return HtmlEncoder.Default.Encode($"Hello {name}, ID: {ID}");
}

运行应用并输入以下 URL:https://localhost:{PORT}/HelloWorld/Welcome/3?name=Rick

后面的 ?id? 中)表示 id 参数可选。

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
});

可在下一教程中执行该操作。

其他教程

将视图添加到 ASP.NET Core MVC 应用

将模型添加到 ASP.NET Core MVC 应用

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap