当前位置: 首页 > news >正文

Asp.net MVC在VSCore中的页面的增删改查(以Blog项目为例),用命令代码

在VSCore中的页面的增删改查(以Blog项目为例)

1.创建项目(无解决方案)复杂项目才需要

dotnet new mvc -o Blog

2.控制器 BlogsController.cs

  • 控制器(Controller)名字和视图(View)中的文件名要一模一样
using Microsoft.AspNetCore.Mvc;
//Blog项目名 Models中有新建文件需要引用
using Blog.Models;
//Blog项目名
namespace Blog.Controllers;
//BlogsController跟控制器名字取的一样
public class BlogsController : Controller
{// 返回视图  用于整个页面public IActionResult Index(){return View(Db.Blogs);}// 增加页面public IActionResult Increase(){return View();}//  编辑页面public IActionResult Redact(){return View();}// 删除页面public IActionResult Delete(){return View();}
}

3. _ViewStart.cshtml中的默认模板页面可改为空(选择)

@{Layout = null;
}

4. 在View中

  • 控制器(Controller)名字和视图(View)中的文件名要一模一样
    1. 创建文件夹Blogs
    1. 创建文件Index.cshtml

5. 在Properties中(选择)

  • launchSettings.json 中端口可改为5000

6. 在4.中的Index.cshtml中写需要的内容页面

7. 在wwwroot中写css文件(如需css文件的话)

  • css文件名为base.css
  • link在Index.cshtml页面中书写
<link rel="stylesheet" href="~/css/base.css">

8. 在Models中创建Blogs.cs 模型

  • 字段名
  • Blogs.cs中
namespace Blog.Models;public class Blogs
{public int Id{get;set;}public string Title{get;set;}=null!;public string Content{get;set;}=null!;public string Author{get;set;}=null!;}

9. 在Models中创Db.cs(模拟数据库创建)

  • 静态字段
  • Db.cs中
namespace Blog.Models;
public static class Db
{// 集合public static List<Blogs> Blogs{get;set;}// 构造函数static Db(){Blogs=[];for (var i = 1; i <=10; i++){var tmp = new Blogs{Id=i,Title=$"永远是朋友{i}",Content=$"假日风情{i}",Author="哈哈"};Blogs.Add(tmp);}}
}

10. 在Index.cshtml中

  • 增删改查需要跳转的页面就改换位a标签
    • input(button) --》 改换成a标签
  • asp-action可以跳转到书写的页面
  • Increase 是在Views下的Blogs中创建的Increase.cshtml
    <a asp-action="Increase">增加</a>

11. 在Models中写的Db.cs

  • 记得在控制器BlogsController.cs中返回视图
   public IActionResult Index(){return View(Db.Blogs);}

完整版

1. 在Controllers需要写的文件

  • BlogsController.cs中
using Microsoft.AspNetCore.Mvc;
using Blog.Models;
namespace Blog.Controllers;public class BlogsController : Controller
{public IActionResult Index(){return View(Db.Blogs);}public IActionResult Increase(){return View();}public IActionResult Redact(){return View();}public IActionResult Delete(){return View();}
}

2. 在Models中需要写的文件

  • 在Blogs.cs文件中
namespace Blog.Models;public class Blogs
{public int Id{get;set;}public string Title{get;set;}=null!;public string Content{get;set;}=null!;public string Author{get;set;}=null!;}
  • 在Db.cs文件中

namespace Blog.Models;
public static class Db
{public static List<Blogs> Blogs{get;set;}static Db(){Blogs=[];for (var i = 1; i <=10; i++){var tmp = new Blogs{Id=i,Title=$"永远的友谊{i}",Content=$"开心每一天{i}",Author="哈哈"};Blogs.Add(tmp);}}
}

3. Views

  • 在Views下创建一个文件夹 Blogs
  • 在Blogs中创建Index.cs
<link rel="stylesheet" href="~/css/base.css">
@model List<Blog.Models.Blogs><a asp-action="Increase">增加</a>
<table><tr><th>Id</th><th>标题</th><th>内容</th><th>作者</th><th>操作</th></tr>@foreach(var item in @Model){<tr><td>@item.Id</td><td>@item.Title</td><td>@item.Content</td><td>@item.Author</td><td><a asp-action="Redact">编辑</a><a asp-action="Delete">删除</a></td></tr>}
</table>
  • 在Increase.cs文件中
<h2>新增</h2>
<table><form action=""><tr><td>标题</td><td>:</td><td><input type="text"></td></tr><tr><td> 内容</td><td>:</td><td><input type="text"></td></tr><tr><td>作者</td><td>:</td><td><input type="text"></td></tr><tr><td><input type="button" value="保存"></td><td></td><td></td></tr></form>
</table>
  • 在Redact.cshtml文件中
<h2>修改</h2>
<table><form action=""><tr><td>标题</td><td>:</td><td><input type="text" placeholder="永远是朋友"></td></tr><tr><td> 内容</td><td>:</td><td><input type="text" placeholder="真心换一切"></td></tr><tr><td>作者</td><td>:</td><td><input type="text" placeholder="哈哈"></td></tr><tr><td><input type="button" value="保存"></td><td></td><td></td></tr></form>
</table>

4. 在wwwroot中的css

  • 创建base.cs文件
table,
tr,
th,
td{border: 1px solid;border-collapse: collapse;
}th{width: 100px;height: 40px;background-color: paleturquoise;
}
tr{width: 100px;height: 30px;
}
a{display: inline-block;width: 40px;height: 30px;line-height: 30px;text-decoration: none;background-color: rgb(127, 228, 228);color: papayawhip;border: 1px solid;border-radius: 10px;text-align: center;
}
a:nth-child(2){background-color: plum;color: papayawhip;
}

完成完整版的以上步骤后

    1. 可以在进入到Blog文件中运行
      • 热重载
      • dotnet watch
    1. 打开Index页面
      • 指的是在Blogs文件夹中的Index.cshtml文件
      • Index改成Blogs文件下的其他名字就会跳转到对应的页面
      • http://localhost:5212/blogs/index

相关文章:

Asp.net MVC在VSCore中的页面的增删改查(以Blog项目为例),用命令代码

在VSCore中的页面的增删改查(以Blog项目为例) 1.创建项目&#xff08;无解决方案&#xff09;复杂项目才需要 dotnet new mvc -o Blog2.控制器 BlogsController.cs 控制器&#xff08;Controller&#xff09;名字和视图&#xff08;View&#xff09;中的文件名要一模一样 u…...

【Leecode】Leecode刷题之路第66天之加一

题目出处 66-加一-题目出处 题目描述 个人解法 思路&#xff1a; todo代码示例&#xff1a;&#xff08;Java&#xff09; todo复杂度分析 todo官方解法 66-加一-官方解法 方法1&#xff1a;找出最长的后缀9 思路&#xff1a; 代码示例&#xff1a;&#xff08;Java&#…...

使用 VLC 在本地搭建流媒体服务器 (详细版)

提示&#xff1a;详细流程 避坑指南 Hi~&#xff01;欢迎来到碧波空间&#xff0c;平时喜欢用博客记录学习的点滴&#xff0c;欢迎大家前来指正&#xff0c;欢迎欢迎~~ ✨✨ 主页&#xff1a;碧波 &#x1f4da; &#x1f4da; 专栏&#xff1a;音视频 目录 借助VLC media pl…...

Ubuntu 常用解压与压缩命令

.zip文件 unzip FileName.zip # 解压 zip DirName.zip DirName # 将DirName本身压缩 zip -r DirName.zip DirName # 压缩&#xff0c;递归处理&#xff0c;将指定目录下的所有文件和子目录一起压缩 zip DirName.zip DirName 行为&#xff1a; 只压缩 DirName 目录本身&#xff…...

【深度学习】四大图像分类网络之AlexNet

AlexNet是由Alex Krizhevsky、Ilya Sutskever&#xff08;均为Hinton的学生&#xff09;和Geoffrey Hinton&#xff08;被誉为”人工智能教父“&#xff0c;首先将反向传播用于多层神经网络&#xff09;在2012年ImageNet图像分类竞赛中提出的一种经典的卷积神经网络。AlexNet在…...

Day1——GitHub项目共同开发

MarkDowm解释 Markdown是一种轻量级标记语言&#xff0c;它允许人们使用易读易写的纯文本格式编写文档&#xff0c;然后转换成结构化的HTML代码。Markdown的目的是让文档的编写和阅读变得更加容易&#xff0c;同时也不失HTML的强大功能。以下是Markdown的一些基本概念和用法&a…...

基于PHP的香水销售系统的设计与实现

摘 要 时代科技高速发展的背后&#xff0c;也带动了经济的增加&#xff0c;人们对生活质量的要求也不断提高。香水作为一款在人际交往过程中&#xff0c;给对方留下良好地第一印象的产品&#xff0c;在生活中也可以独自享受其为生活带来的点缀。目前香水市场体量庞大&#xff…...

A-star算法

算法简介 A*&#xff08;A-star&#xff09;算法是一种用于图形搜索和路径规划的启发式搜索算法&#xff0c;它结合了最佳优先搜索&#xff08;Best-First Search&#xff09;和Dijkstra算法的思想&#xff0c;能够有效地寻找从起点到目标点的最短路径。A*算法广泛应用于导航、…...

前端用原生js下载File对象文件,多用于上传附件时,提交之前进行点击预览,或打开本地已经选择待上传的附件列表

用于如上图场景&#xff0c;已经点击选择了将要上传的文件&#xff0c;在附件列表里面用户希望点击下载文件&#xff0c;以核实自己是否选中了需要上传的文件&#xff0c;此刻就需要 用到下面的方法&#xff1a; // 下载File对象文件 downloadByFileObject(file, { fileName }…...

服务器记录所有用户docker操作,监控删除容器/镜像的人

文章目录 使用场景安装auditd添加docker审计规则设置监控日志大小与定期清除查询 Docker 操作日志查看所有用户&#xff0c;所有操作日志查看特定用户的 Docker 操作查看所有用户删除容器/镜像日志过滤特定时间范围内日志 使用场景 多人使用的服务器&#xff0c;使用的docker …...

关于使用天地图、leaflet、ENVI、Vue工具实现 前端地图上覆盖上处理的农业地块图层任务

1.项目框架搭建 项目地址&#xff1a;Webgis: 一个关于webgis、天地图、Leaflet、Vue、数据库的学习框架。 ①git到本地&#xff0c;vscode打开。 ② 配置后端 搜索下载MySQL插件&#xff08;前提&#xff1a;电脑中装有MySQL才可应用&#xff09;。 连接数据库。 配置基本…...

基于yolov4深度学习网络的排队人数统计系统matlab仿真,带GUI界面

目录 1.算法仿真效果 2.算法涉及理论知识概要 3.MATLAB核心程序 4.完整算法代码文件获得 1.算法仿真效果 matlab2022a仿真结果如下&#xff08;完整代码运行后无水印&#xff09;&#xff1a; 仿真操作步骤可参考程序配套的操作视频。 2.算法涉及理论知识概要 在现代社会…...

用 React 编写一个笔记应用程序

这篇文章会教大家用 React 编写一个笔记应用程序。用户可以创建、编辑、和切换 Markdown 笔记。 1. nanoid nanoid 是一个轻量级和安全的唯一字符串ID生成器&#xff0c;常用于JavaScript环境中生成随机、唯一的字符串ID&#xff0c;如数据库主键、会话ID、文件名等场景。 …...

如何离线安装dockerio

如何离线安装dockerio 一、下载Docker离线安装包二、上传离线安装包三、解压安装包四、复制文件到系统目录五、配置Docker服务六、设置文件权限并重新加载配置七、启动Docker服务八、设置开机自启动九、验证安装Docker是一个开源的容器化平台,用于开发、发布和运行应用程序。离…...

LocalDateTime序列化(跟redis有关)

使用过 没成功&#xff0c;序列化后是[2024 11 10 17 22 20]差不多是这样&#xff0c; 反序列化后就是&#xff1a; [ 2024 11 10.... ] 可能是我漏了什么 这是序列化后的&#xff1a; 反序列化后&#xff1a; 方法&#xff08;加序列化和反序列化注解&#xff09;&…...

【redis】如何跑

在 Windows 上配置 Redis 需要一些额外的步骤&#xff0c;因为 Redis 官方并没有为 Windows 提供原生支持。不过&#xff0c;可以通过以下方法来安装和配置 Redis。 方法一&#xff1a;使用 Windows 版 Redis&#xff08;非官方版本&#xff09; 下载 Redis for Windows Redis…...

Scala学习记录,全文单词统计

package test32 import java.io.PrintWriter import scala.io.Source //知识点 // 字符串.split("分隔符"&#xff1a;把字符串用指定的分隔符&#xff0c;拆分成多个部分&#xff0c;保存在数组中) object test {def main(args: Array[String]): Unit {//从文件1.t…...

【MyBatis】验证多级缓存及 Cache Aside 模式的应用

文章目录 前言1. 多级缓存的概念1.1 CPU 多级缓存1.2 MyBatis 多级缓存 2. MyBatis 本地缓存3. MyBatis 全局缓存3.1 MyBatis 全局缓存过期算法3.2 CacheAside 模式 后记MyBatis 提供了缓存切口&#xff0c; 采用 Redis 会引入什么问题&#xff1f;万一遇到需强一致场景&#x…...

学习ASP.NET Core的身份认证(基于Session的身份认证3)

开源博客项目Blog中提供了另一种访问控制方式&#xff0c;其基于自定义类及函数的特性类控制访问权限。本文学习并测试开源博客项目Blog的访问控制方式&#xff0c;测试程序中直接复用开源博客项目Blog中的相关类及接口定义&#xff0c;并在其上调整判断逻辑。   首先是接口A…...

速盾:高防 CDN 可以配置客户端请求超时配置?

在高防 CDN&#xff08;Content Delivery Network&#xff0c;内容分发网络&#xff09;的运行管理中&#xff0c;客户端请求超时配置是一项重要的功能设定&#xff0c;它对于优化网络资源分配、保障服务质量以及维护系统稳定性有着关键意义。 一、客户端请求超时配置的概念 …...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

Qt 事件处理中 return 的深入解析

Qt 事件处理中 return 的深入解析 在 Qt 事件处理中&#xff0c;return 语句的使用是另一个关键概念&#xff0c;它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别&#xff1a;不同层级的事件处理 方…...

规则与人性的天平——由高考迟到事件引发的思考

当那位身着校服的考生在考场关闭1分钟后狂奔而至&#xff0c;他涨红的脸上写满绝望。铁门内秒针划过的弧度&#xff0c;成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定"&#xff0c;构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...