C#-AspNetCore-AspNetCore MVC 官方实例学习(VSCode)

5 篇文章 0 订阅
4 篇文章 0 订阅

*本文根据MS官方示例流程进行一个入门练习,步骤和内容依照官方文档流程进行,基础环境为.netCore + VSCode,终端cmder ,示例项目为MvcMovie
新建学习交流QQ群:1026682857 欢迎有兴趣的朋友 前来一起学习交流。

创建项目

//创建MVC项目
dotnet new mvc -o AspNetCoreMVCDemo
//使用VSCode打开代码
code AspNetCoreMVCDemo

//添加https开发证书信任
cd AspNetCoreMVCDemo
dotnet dev-certs https --trust

MVC

  • M 模型
  • V 视图
  • C 控制器

创建HelloWorld控制器

  • 选中Controller文件夹 -> 右键单击 -> new class
  • 创建HelloWorldController.cs
using Microsoft.AspNetCore.Mvc;
using System.Text.Encodings.Web;

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

        public string Welcome(){
            return "This is the Welcome action method...";
        }
    }
}

*启动程序后 可以在地址栏输入https://localhost:5001/helloworld/index 和 https://localhost:5001/helloworld/Welcome 进行验证
在这里插入图片描述
在这里插入图片描述

默认路由修改

  • Startup.cs文件 -> Configure方法

修改前 系统默认

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

修改后

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

*修改后 启动调试将默认跳转至 https://localhost:5001/helloworld/index

传递参数

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

*测试访问路径 : https://localhost:5001/HelloWorld/Welcome?name=rick&numtimes=4

创建View

  • 创建目录View/HelloWorld
  • 添加Index.cshtml文件
  • 编写html文件
@{
    ViewData["Title"] = "Index";
}

<h2>Index</h2>

<p>Hello from our View Template!</p>
  • 修改HelloWorldController中的Index方法
public IActionResult Index()
{
    return View();
}

运行测试
在这里插入图片描述
*可以通过修改Views/Shared/_Layout.cshtml文件修改页面模板,修改后将为反应在所有应用该模板的页面中,须检查Views/_ViewStart.cshtml文件

  • 创建Welcome.cshtml文件
@{

    ViewData["Title"] = "Welcome";
}

<h2>Welcome</h2>

<ul>
    @for (int i = 0; i < (int)ViewData["NumTimes"] ; i++)
    {
        <li>@ViewData["Message"]</li>
    }
</ul>
  • 修改Welcome方法
		public IActionResult Welcome(string name ,int numTimes = 1){
            ViewData["Message"] = $"Hello {name}";
            ViewData["NumTimes"] =  numTimes;

            return View();
        }

*参数将被直接传递到对应的方法中

在这里插入图片描述

  • 使用基架程序生成文件
dotnet aspnet-codegenerator controller -name MoviesController -m Movie -dc MovieContext --relativeFolderPath Controllers --useDefaultLayout --referenceScriptLibraries

后续添加数据库配置 在这里就不再复述了

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值