ASP.NETMVC-简单例子-从数据库构建Model+HTML帮助器

news2025/1/17 3:52:14

环境:
win10,.NET Framework 4.6.1

参考:
ASP.NET MVC 简介 | 菜鸟教程
https://www.runoob.com/aspnet/mvc-intro.html

ASP.NET MVC HTML 帮助器 | 菜鸟教程
https://www.runoob.com/aspnet/mvc-htmlhelpers.html


上一篇:
ASP.NET MVC-简单例子-CSDN博客
https://blog.csdn.net/pxy7896/article/details/139777634


从数据库构建Model

首先点击右侧资源管理器中Models文件夹,右键选择添加-新建项,然后在左侧找到数据分类,选择ADO.NET实体数据模型。

在这里插入图片描述
点击添加,在后续步骤中选择来自数据库的EF设计器。
在这里插入图片描述
在这里插入图片描述
然后填写数据库ip,登录用户名和密码等。填完可以测试一下连接情况,成功了再继续。
在这里插入图片描述
一路执行之后,Models文件夹后有自动生成的类文件:
在这里插入图片描述
内容大概如下:
在这里插入图片描述
同时,App_Data下的Database1.mdf(数据库文件),打开之后,也能看到有表:
在这里插入图片描述
随后可以再生成控制器和view。

HTML帮助器

帮助器可以修改HTML,类似于传统的ASP.NET Web Form控件,但是更轻量级,也没有事件模型和视图状态。大多数情况下,它仅仅返回一个字符串。

举个例子。_Layout.cshtml负责整体的布局,包括导航栏和footer,也有相关css和js的引入。其中,导航栏部分有这样一段代码:

<div class="collapse navbar-collapse d-sm-inline-flex justify-content-between">
    <ul class="navbar-nav flex-grow-1">
        <li>@Html.ActionLink("主页", "Index", "Home", new { area = "" }, new { @class = "nav-link" })</li>
        <li>@Html.ActionLink("关于", "About", "Home", new { area = "" }, new { @class = "nav-link" })</li>
        <li>@Html.ActionLink("联系方式", "Contact", "Home", new { area = "" }, new { @class = "nav-link" })</li>
        <li>@Html.ActionLink("BasicUnits", "Index", "BasicUnits", new { area = "" }, new { @class = "nav-link" })</li>
    </ul>
</div>

里面Html.ActionLink就是帮助器。几个参数分别是链接显示的文本、action的名称、action所属的controller、路由值和html特性。比如点击导航栏里的BasicUnits项,就会跳向Views/BasicUnits/Index.cshtml,而不是Home下的。
在这里插入图片描述
还可以带一些参数,比如

  • .protocol:URL 协议,如 “http” 或 “https”。
  • .hostname:URL 的主机名。
  • .fragment:URL 片段名称(定位点名称)。

还有一些表单的帮助器,效果如下:
在这里插入图片描述
代码:

    @using (Html.BeginForm()){
    <p>
        <label for="FirstName">First Name:</label>
        @Html.TextBox("FirstName")
        @Html.ValidationMessage("FirstName", "*")
    </p>
   
    <p>
        <label for="Profile">Profile:</label>
        @Html.TextArea("Profile", new {cols=200, rows=10})
    </p>
    <p>
        @Html.CheckBox("ReceiveNewsletter")
        <label for="ReceiveNewsletter" style="display:inline">Receive Newsletter?</label>
    </p>
    <p>
        <input type="submit" value="Register" />
    </p>
    }

其他参见:

C# ASP.NET MVC HtmlHelper用法大全_c# htmlhelper-CSDN博客
https://blog.csdn.net/andrewniu/article/details/78059642

HtmlHelper 类 (System.Web.Mvc) | Microsoft Learn
https://learn.microsoft.com/zh-cn/dotnet/api/system.web.mvc.htmlhelper

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1853443.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VS Code SSH 远程连接服务器及坑点解决

背景 Linux服务器重装了一下&#xff0c;IP没有变化&#xff0c;结果VS Code再重连的时候就各种问题&#xff0c;导致把整个流程全部走了一遍&#xff0c;留个经验帖以备查看 SSH 首先确保Windows安装了ssh&#xff0c;通过cmd下ssh命令查看是否安装了。 没安装&#xff0c;…

【STM32】STM32通过I2C实现温湿度采集与显示

目录 一、I2C总线通信协议 1.I2C通信特征 2.I2C总线协议 3.软件I2C和硬件I2C 二、stm32通过I2C实现温湿度&#xff08;AHT20&#xff09;采集 1.stm32cube配置 RCC配置&#xff1a; SYS配置&#xff1a; I2C1配置&#xff1a; USART1配置&#xff1a; GPIO配置&#…

图片覆盖攻击

点击劫持的本质是一种视觉欺骗。顺着这个思路&#xff0c;还有一些攻击方法也可以起到类似的作 用&#xff0c;比如图片覆盖。 一名叫 sven.vetsch 的安全研究者最先提出了这种 Cross Site Image Overlaying 攻击&#xff0c;简称 XSIO。sven.vetsch 通过调整图片的 style 使得…

中国港口年鉴(2000-2023年)

数据年限&#xff1a;2000-2023&#xff08;齐全&#xff09; 数据格式&#xff1a;pdf、excel 数据内容&#xff1a; 一、记述和反映了中国大陆江、海、河港口在深化改革、调整结构、整合资源、开拓经营、加快建设等方面所取得的成就和发展进程&#xff0c;香港特别行政区、澳…

动手学深度学习(Pytorch版)代码实践 -卷积神经网络-25使用块的网络VGG

25使用块的网络VGG import torch from torch import nn import liliPytorch as lp import matplotlib.pyplot as plt# 定义VGG块 # num_convs: 卷积层的数量 # in_channels: 输入通道的数量 # out_channels: 输出通道的数量 def vgg_block(num_convs, in_channels, out_channel…

MyBatis映射器:一对多关联查询

大家好&#xff0c;我是王有志&#xff0c;一个分享硬核 Java 技术的金融摸鱼侠&#xff0c;欢迎大家加入 Java 人自己的交流群“共同富裕的 Java 人”。 在学习完上一篇文章《MyBatis映射器&#xff1a;一对一关联查询》后&#xff0c;相信你已经掌握了如何在 MyBatis 映射器…

天气冷电脑不能启动找不到硬盘

https://diy.zol.com.cn/2004/0611/101994.shtml

es的检索-DSL语法和Java-RestClient实现

基本语法&#xff1a; GET /索引库名/_search {"query": {"查询类型": {"查询条件"}} }RestClient的导入在RestClient操作索引库和文档有介绍 查询所有&#xff1a; # 查询所有 GET /test/_search {"query": {"match_all"…

Linux操作系统段式存储管理、 段页式存储管理

1、段式存储管理 1.1分段 进程的地址空间&#xff1a;按照程序自身的逻辑关系划分为若干个段&#xff0c;每个段都有一个段名&#xff08;在低级语言中&#xff0c;程序员使用段名来编程&#xff09;&#xff0c;每段从0开始编址。内存分配规则&#xff1a;以段为单位进行分配…

【高考选专业 | 家长篇】2024,计算机何去何从?小P老师带你看

目录 2024年&#xff0c;计算机相关专业还值得选择吗&#xff1f;1.行业竞争现状2.专业前景分析 2024年&#xff0c;计算机相关专业还值得选择吗&#xff1f; 随着2024年高考落幕&#xff0c;数百万高三学生又将面临人生中的重要抉择&#xff1a;选择大学专业。有人欢喜&#x…

2024最新版:C++用Vcpkg搭配VS2022安装matplotlib-cpp库

matplotlib-cpp是一个用于在C中使用matplotlib绘图库的头文件库。它提供了一个简单的接口&#xff0c;使得在C中创建和显示图形变得更加容易。这个库的灵感来自于Python的matplotlib库&#xff0c;它使得在C中进行数据可视化变得更加便捷。 matplotlib-cpp允许在C中使用类似Py…

linux使用docker部署kafka集群

1、拉取kafka docker pull wurstmeister/kafka docker pull wurstmeister/zookeeper 2、创建网络 docker network create app-kafka 3、启动zookeeper docker run -d \--name zookeeper \-p 2181:2181 \--network app-kafka \--restart always \wurstmeister/zookeeper …

Java基础的重点知识-06-String、Arrays、Math、static关键字

文章目录 String类(java.lang)static关键字Arrays类(java.uitl)Math类&#xff08;java.lang&#xff09; String类(java.lang) java.lang.String 类代表字符串。 特征&#xff1a; 字符串不变&#xff1a;字符串的值在创建后不能被更改。因为String对象是不可变的&#xff…

【2024德国签证】资金证明详解|从线上开户到签证申请超详细指南!

保证金介绍 1.什么是德国保证金&#xff08;自保金 Sperrkonto&#xff09;&#xff1f; 来自非欧洲国家的国际学生必须提供经济资金证明&#xff0c;以证明你能支持你在德国的生活和学习。 保证金用途&#xff1a;非欧盟国家的公民&#xff0c;需要签证来德国&#xff0c;必…

安徽理工大学2计算机考研情况,招收计算机专业的学院和联培都不少!

安徽理工大学&#xff08;Anhui University of Science and Technology&#xff09;&#xff0c;位于淮南市&#xff0c;是安徽省和应急管理部共建高校&#xff0c;安徽省高等教育振兴计划“地方特色高水平大学”建设高校&#xff0c;安徽省高峰学科建设计划特别支持高校&#…

C++初学者指南第一步---13.聚合类型

C初学者指南第一步—13.聚合类型 文章目录 C初学者指南第一步---13.聚合类型1. 类型分类&#xff08;简化&#xff09;2. 如何定义和使用3. 为什么选择自定义类型/数据聚合&#xff1f;4. 聚合类型初始化5.混合6. 复制7. 值和引用的语义8.聚合的向量(std::vector)9.最令人烦恼的…

python使用pywebview打造一个现代化的可视化GUI界面

&#x1f308;所属专栏&#xff1a;【python】✨作者主页&#xff1a; Mr.Zwq✔️个人简介&#xff1a;一个正在努力学技术的Python领域创作者&#xff0c;擅长爬虫&#xff0c;逆向&#xff0c;全栈方向&#xff0c;专注基础和实战分享&#xff0c;欢迎咨询&#xff01; 您的…

不使用ES,如何使用MySQL实现模糊匹配

1.业务场景 例如&#xff1a;我们实现一个公司的申请审批流程&#xff0c;整个业务流程涉及到两种角色&#xff0c;分别是商务角色与管理员角色&#xff0c;整个流程如下图所示&#xff1a; 核心流程总结为一句话&#xff1a;商务角色申请添加公司后由管理员进行审批。 商务在…

Android中如何动态的调整Dialog的背景深暗

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 在 Android 开发中&#xff0c;当你使用 Dialog 或 DialogFragment 时&#xff0c;可以通过设置 Window 的背景变暗来突出它的可见性。这个效果…

数据虚拟化、Data Fabric(数据编织)的兴起,对数据管理有何帮助?

数字化时代&#xff0c;虚拟化&#xff08;Virtualization&#xff09;并不是一个很陌生的词汇&#xff0c;它是现代数据中心资源管理的核心技术之一&#xff0c;是对 IT 资源&#xff08;如服务器、存储设备、网络设备等&#xff09;的抽象&#xff0c;通过屏蔽 IT 资源的物理…