ASP.NET MVC 从入门到放弃(Day18)-MVC检视(View)介绍

接下来讲讲View 部分...

在控制器的ActionResult Index() 上方可点选右键新增检视预设范本有Create(表单输入) 、Delete(删除) 、Edit(编辑) 、Detail(单笔显示) 、List(多笔显示)
https://ithelp.ithome.com.tw/upload/images/20210908/20140001fVA7OelVel.png

首先我先讲讲List 部分...范本先选List 模型类别选 Class1

public class HomeController : Controller
{
        public ActionResult Index()
        {
            return View();
            //跑到这段的时候会跳到显示画面 在方案总管-> View资料夹底下->Home资料夹->Index.cshtml
        }
}

在Day16 有在Model资料夹底下简单建立一个简单的 Class1.cs模型如下

Model

public class Class1
{
    public string test { get; set; }
}

Controller

public ActionResult Index()
{
   List<Models.Class1> testList = new List<Models.Class1>
   {
      new Models.Class1 { test = "aa" },
      new Models.Class1 {test = "bb" },
      new Models.Class1 { test = "cc" },
       new Models.Class1 { test = "dd" }
    };

   return View(testList);
}

View

@model IEnumerable<WebApplication1.Models.Class1>

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.test)
        </th>
        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.test)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit") 
            @Html.ActionLink("Details", "Details") 
            @Html.ActionLink("Delete", "Delete")
        </td>
    </tr>
}

</table>

1.@model 是一个关键字保留字 (宣告类型) 指的是资料属性
2.下方的Model 是控制器传来的类别档的值
3.IEnumerable(集合)是Controller testList 的资料型态
[email protected]为Razor语法
5.class="table" 使用前端框架bootstrap
6.Razor注解写法@* *@
7.html注解写法
8.@开头表示 在 此画面开始使用C#语法
9. 请参照Day1 Html教学部分...

补充说明View 的上方宣告

资料多笔 IEnumerable(集合)多笔

   @model IEnumerable<WebApplication1.Models.Class1>

资料单笔

   @model WebApplication1.Models.Class1

Razor的基本使用方法如下:

"@" + 变数名称 的方式,就可以输出程序中的变数

@UserName

使用C#语法@{ }

@{
    var MemberID = "1111";
}

注解

@*   *@

引用外部Js

 <script src="~/Scripts/Export.js"></script>

超连结

@Html.ActionLink("关於我们", "About","Home") 

html翻译为:关於我们< /a>

注解:多For的差异就是在从Controller传资料的Model赋予强型别,程序比较不容易写错

ex:

@Html.DisplayNameFor(model => model.test)

我在Class1.cs有宣告 test

後续常用的Razor语法可参考:dotblogs


<<:  Day 11 : psycopg2 操作

>>:  [NestJS 带你飞!] DAY08 - Exception & Exception filters

[Day 29] DNN (分类器)

DNN (分类器) https://www.youtube.com/watch?v=diCzrBXL...

Day 26 设定 Redux 环境

第 26 天 ! 今天我们来试着把 redux 的环境建立起来吧, 安装 redux 套件: yar...

自动化测试,让你上班拥有一杯咖啡的时间 | Day 13 - 动态跳过测试用例

此系列文章会同步发文到个人部落格,有兴趣的读者可以前往观看喔。 测试脚本中有许多测试用例时,当需要...

[Java Day08] 3.1. if else

教材网址 https://coding104.blogspot.com/2021/06/java-i...

晨间读报,掌握情报

不同的产业,会被政府法令或全球时事所影响,比如说一个油价调涨的新闻一出,原物料的供给成本,会连结到海...