iT邦幫忙

2022 iThome 鐵人賽

DAY 15
0

我們一直都還沒做把文章內容,回傳到資料庫裏面,前面做的都只是CKeditor新增圖片時會先做的事情。
回顧流程是:
當你上傳一張圖片->圖片傳到後台 -> 後臺儲存 -> 回傳圖片的url到前台。

目標:
1.新增文章功能

步驟:
step1. 創建CreateArticle 的action 來接收前台的回傳。

[HttpPost("CreateArticle")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> CreateArticle(string Content)
{
    await _article.CreateArticle(Content);
    return Redirect("/");
}

note:
1.[HttpPost(“CreateArticle”)] 是router的一種寫法。
2.[HttpPost]是限定了 Http 傳輸的方法

step2.IArticleService.cs 和 ArticleService.cs 分別加上介面和實作

// IArticleService.cs
Task CreateArticle(string content);
// ArticleService.cs
public async Task CreateArticle(string content)
{
     var article = new Article
      {
           Title = DateTime.UtcNow.ToUniversalTime().ToString(),
           ArticleContent = content,
           IsDelete = false
      };

        _db.Articles.Add(article);
        await _db.SaveChangesAsync();
}

note:
1.基本上,新增資料前通常要先跟資料庫確認資料是不是重新新增過,就是做資料庫端的驗證防呆,但是發文系統,很難判斷這邊張是不是重複地所以這邊就沒做。

2.這邊要注意我們使用了_db 注入的方式~ 還是得怎麼做嗎?
然後使用了Add的方法把要存入的物件先收集起來 -> 在使用SaveChanges 此動作完會真的儲存到後端。


上一篇
[Day 14] EntityFramework 指令新增資料表
下一篇
[Day 16] 撈出文章列表
系列文
Asp.Net Core 零基礎建立自己的Blog30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言