.Net Core Web Api_笔记14_api结合ADO.NET资料库操作part2_资料查询呈现

在上一篇辛辛苦苦地完成了专案前置准备
并写好新增功能的api呼叫(透过POST方式)
现在资料库中有存入一些刚存进来的内容
我想把他们查询呈现在画面上
此时改用GET方式

藉由ado.net查询回来存入List泛型
https://ithelp.ithome.com.tw/upload/images/20210930/201074522VN4ZgAmT1.png

传入自定义的model class
也就是每一笔都为NewsType.cs 这个DTO class

在NewsTypeController新增
一个Action Method命名为ShowNewsType

[HttpGet("Show")]
public ActionResult<List<NewsType>> ShowNewsType()
{
    string strSQL = @"select * from NewsType";
    Hashtable htParms = new Hashtable();
    SqlDataReader dataReader = MSSQLHelper.GetSqlDataReader(strSQL);
    if (!dataReader.HasRows)
        return NotFound();

    List<NewsType> lsNewsType = new List<NewsType>();

    while (dataReader.Read())
    {
        lsNewsType.Add(new NewsType()
        {
            NewsTypeId = dataReader.GetInt32(0),
            NewsTypeName = dataReader.GetString(1),
            isEnabled = dataReader.GetBoolean(2)
        });
    }
    dataReader.Close();
    return lsNewsType;
}

在浏览器或PostMan上测试也可正常查出目标资料
这里有特别一点就是回传回来原先属性开头大写的变小写
以postman回传的为主

https://ithelp.ithome.com.tw/upload/images/20210930/20107452fsB3rroO56.png

一样新增一个画面专for资料呈现的
Show.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Show NewsType</title>
    <link href="../css/bootstrap.min.css" rel="stylesheet" />
    <script src="../js/jquery/jquery.min.js"></script>
</head>
<body style="margin:20px;">
    <table id="tbNewsType" class="table table-bordered">
        <thead>
            <tr>
                <td>文章ID</td>
                <td>分类</td>
                <td>是否启用</td>
            </tr>
        </thead>
        <tbody>
        </tbody>
    </table>

    <script type="text/javascript">
        $(function () {
            var tbody = $('#tbNewsType tbody')
            $.ajax({
                type: 'get',
                url: '/api/NewsType/Show',
                dataType: 'json',
                success: function (result) {
                    $.each(result, function (n, value) {
                        var IsEnabled;
                        value.isEnabled ? IsEnabled = '启用' : IsEnabled = '关闭';
                        var tr_val = "";
                        tr_val += "<tr><td>" + value.newsTypeId + "</td><td>" + value.newsTypeName + "</td><td>" + IsEnabled + "</td></tr>";
                        tbody += tr_val;
                    });
                    $('#tbNewsType').append(tbody);
                }
            });
        });
    </script>
</body>
</html>

https://ithelp.ithome.com.tw/upload/images/20210930/20107452S97QcMYwg1.png

本篇已同步发表至个人部落格
https://coolmandiary.blogspot.com/2021/09/net-core-web-api14apiadonetpart2.html


<<:  .Net Core Web Api_笔记13_api结合ADO.NET资料库操作part1_专案前置准备到资料新增

>>:  SQL资料库备份与还原

Day17 - 语音辨识神级工具-Kaldi part2

首先介绍的是发音词典处理,我们必须先准备一份发音词典(lexicon),格式会长得像以下的样子。左边...

那些被忽略但很好用的 Web API / Notification

订阅、分享、开启小铃铛,才不会错过通知喔~ 各位有没有收过网站的通知呢?例如 Youtube 或 ...

【D7】取得历史资料:三大法人-区分期货与选择权二类

前言 在昨日取得的资料仅有当天的资讯,政府有提供下载近三年的资料,更多就需要申请,不过我们这三年已经...

Composition vs 继承( Day13 )

React 具有强大的 composition 模型,我们建议你在 component 之间使用 ...

ISO 27001 资讯安全管理系统 【解析】(二十二)

识别威胁 在前面的概论中,我们知道威胁是外来的,他必须配合资产才会产生风险,所以资产与威胁是相互之...