伊莉討論區

標題: MVC C# 前端動態欄位post回後端 [打印本頁]

作者: ggnnyy    時間: 2017-10-26 01:58 PM     標題: MVC C# 前端動態欄位post回後端

各位大大好:
請問一下在MVC架構中,如果前端頁面有一個可以動態增減列數的table,
如何將這個table post 回controller action中,
我想模擬的就像是ERP系統中,將單據(有單頭和單身)存檔。
請問有沒有比較好的方式?


作者: 我愛小笨蛋    時間: 2017-10-26 03:00 PM

雖然我沒用MVC但是

正常來說妳要POST的應該不是整個Table
應該是使用者操作刪除/新增/修改的那一筆資料的KEY值

然後到了後端在依據該筆資料的KEY值實際做刪除/新增/修改
最後再刷新用戶端的畫面這樣才是正常順序吧

所以應該是要先判斷使用者操做哪一筆資料然後將該筆資料的唯一所引值丟到
controller 進行刪除/新增/修改的行為 完成後再刷新使用者的畫面
這樣應該就能達到妳要的目的了
作者: ggnnyy    時間: 2017-10-26 03:59 PM

我愛小笨蛋 發表於 2017-10-26 03:00 PM
雖然我沒用MVC但是

正常來說妳要POST的應該不是整個Table

應該說是我一開始就要在table裡面編輯好所有的資料,在一起post上去,
像是這樣下面這樣 每一列是一個tr 每一欄是td :
1, AAA, 500
2, BBB, 200
3, CCC, 300
但是在編輯過程可能會增加或刪掉某一列,全部編輯完成再一起POST出去

作者: sam30525sam    時間: 2017-10-26 10:14 PM

本帖最後由 sam30525sam 於 2017-10-26 10:18 PM 編輯

form post 是最佳解,
前端要關於html動態增加沒問題,
修改好的資料用form post + submit直接可以送到後端
====

根據我過來人的經歷,建議不要用razor語法,
不管怎樣,html/js/jquery還是基本功,
為了未來的擴充性,建議你
1. 使用web api 或 asp.net mvc但是寫得像web api
2. 禁用razor語法

作者: sliceart    時間: 2018-1-24 11:24 PM

如果你用MVC,你應該先了解一下前端HTML post到後端之後,MVC會Model Binding這件事情。
你的資料若有多筆,後端model應該可以設計成IEnumerable<yourModel>來接收。


作者: chiensj    時間: 2018-5-31 08:53 PM

用 Javascript 物件陣列(一筆對應一筆 Table Row),轉 JSON 字串回 Server 端,Server 收到後轉預先設計的Model List




歡迎光臨 伊莉討論區 (http://www989.eyny.com/) Powered by Discuz!