就是吧! 當我要新增資料 發現 資料庫已經有這筆資料存在時,就改作Update的動作
Update這個Function 已經存在了,所以就想著直接CALL....
喔!!! 這件事就這麼發生了
介紹一下兩個Funtion
新增 --> ActionResult AddNewProduct ,傳回 bool success, String ErroMsg
Update --> ActionResult ProductUpdate 傳回 bool iResult , String Msg
傳回的東西都是 JsonResult , 我想要抓到 ProductUpdate 的Json 回到 AddNewProduct 傳出去
具體怎麼做剛開始還覺得有可能嗎?真的能成嗎?
一方面又覺得若不行 那真的太笨了 =__=
然後我就問了...行呀! 真的能~~
看看片段的實作 CODE
[HttpPost] public ActionResult AddNewProduct(string ID) { bool iResult = true; string msg=""; bool update = true; if (update) { //把要呼叫的Function ActionResult 轉型成 JsonResult JsonResult r = (JsonResult)ProductUpdate(ID,true); //因為拿到的r是object 所以再轉一次 dynamic resultData = r.Data; //要用的時候,也要給他型別才行 iResult = (bool)resultData.success; if(iResult) { msg = (String)resultData.FinishMsg; msg = msg.Replace("更新", "匯入"); }else { msg = (String)resultData.ErrorMsg; msg = msg.Replace("更新", "匯入") + "請重新新增商品"; } } else { //新增資料 } return new JsonResult() { Data = new { success = iResult , Msg = msg } }; }
附上 stackoverflow
還是GOOGLE的高亮程式碼漂亮阿!
其實每次要把CODE放上來我都會腦抽忘了怎麼弄ORZ
沒有留言:
張貼留言