終於將審核作業系統執行到尾聲了,但在編寫Detail時碰到很大困難

 

問題1 Modified無法使用大括弧

因為使用 db.Entry(checkform).State = EntityState.Modified;的關係,

無法用大括弧將參數帶入

因此參數寫入時必須指定table

如下

checkform.ReviewDate = DateTime.Now;

問題2 無法取得之前的資料導致多欄位null

取資料時僅ID跟這次修改的值有帶入,其他資料皆為null。

後來參考Create 寫了一行 CheckForm checkform = db.CheckForm.Find(ID);

便能順利將整份資料帶入

 

問題3 資料全部讀取修改後,無法存入DB

跟小安確認過後,

修改資料只需針對修改的資料帶入即可,(為了帶入資料我全部都寫了)

而我之前為了將null的資料帶入將table寫反了,

所以導致資料都沒寫入

 

綜合上述問題解決後

完成Detail的controller如下

--------------------------------------------------------------------------

[HttpPost]
public ActionResult Detail(int ID,CheckForm releasedetail)
{

if (ModelState.IsValid)
{
CheckForm checkform = db.CheckForm.Find(ID);
db.Entry(checkform).State = EntityState.Modified;

checkform.ReviewDate = DateTime.Now;
checkform.ReleaseID = releasedetail.ReleaseID;
checkform.Status = "審核完畢";

db.SaveChanges();

--------------------------------------------------------------------------

arrow
arrow
    文章標籤
    範例 問題經驗
    全站熱搜
    創作者介紹
    創作者 JayeChen987 的頭像
    JayeChen987

    Jaye的碎碎念

    JayeChen987 發表在 痞客邦 留言(0) 人氣()