2014-11-05 60 views
-1

讓我首先說我對MVC非常陌生;我在我的公司繼承了一個應用程序,並且正在修改編輯功能。在這種情況下,我們正在檢查數據庫中的現有記錄,然後允許用戶編輯記錄。最初,我們顯示錯誤說該項目已經存在。我試圖實現的更改是顯示一條消息,提醒用戶存在具有相同信息的項目,然後給予他們覆蓋現有數據或完全取消的選項,但前提是選擇了某個選項。MVC 3 - 在ActionResult中顯示對話框彈出

 [HttpPost] 
 
     public ActionResult Edit(EditModel details) 
 
     { 
 
      var editItem = new Object(); 
 

 
      var existingItem = db.GetItem(User.ID, editItem.Number); 
 
      if (existingItem != null) 
 
      { 
 
       if (existingItem.Option == 0) 
 
       { 
 
        // Display confirmation and then continue with edit if yes, if no then cancel 
 
       } 
 
       else 
 
       { 
 
        ModelState.AddModelError("", "Error"); 
 
        return View(details); 
 
       } 
 
      } 
 

 
      //Continue operation 
 
     }

有沒有一種方法去實施的jQuery或某種JavaScript調用來實現這一目標?還是有更好的方法來做到這一點?我願意提供建議,並且可以提供所需的任何必要信息,以闡明我正在努力完成的任務。提前致謝!

+0

有很多方法可以做到這一點。 JavaScript只是一個選擇。另一種選擇是用一個按鈕返回不同的視圖以「覆蓋」哪些帖子爲「覆蓋」操作。現在這是一個相當廣泛的問題。 – 2014-11-05 22:00:40

+0

@AntP我認爲這將是一個廣泛的問題。我確信有很多可能的方法來做到這一點。我只是在尋找建議或樣品,我可以做什麼,因爲在這個時候,我甚至不知道該往哪裏走,或者什麼是理想的解決方案。 – LDWisdom 2014-11-06 16:25:06

回答

0

我會返回一些JSON諸如「存在」在你行,你有你的註釋「//顯示確認,然後用編輯繼續,如果是」

return Json("Exists"); 

然後在你的POST請求我會檢查該響應,並使用一個對話框,如果它存在

$.post(url,{id:$id}, 
function(data){ 
    if(data == "Exists") 
      showDialog(); 
}); 

這就是我將如何處理它。