2009-10-04 87 views
4

我tryng使用此:http://jqueryui.com/demos/dialog/#modal-form如何從ASP.Net MVC列表頁面中使用一個jQuery UI模式窗體

我:

<script type="text/javascript"> 
    $(document).ready(function() { 
    $("#dialog").dialog(); 
    $("#dialog").dialog('close'); 

     $('.myPop').click(function() {    
      $("#dialog").dialog('open'); 
     }); 
    }); 

,讓我彈出點擊'.myPop',這只是我工作列表中的一個溫度輸入按鈕:

<button type="button" class="myPop"></button> 

我的問題是 - 使用此彈出窗口轉到我的控制器的編輯方法,填充控件然後能夠保存回模型並刷新列表頁面的最佳方法是什麼?

我想在ASP.Net MVC中保持最佳實踐。

我可以用這個嗎? http://dev.iceburg.net/jquery/jqModal/

感謝

+0

這也可能是非常有益的http://stackoverflow.com/questions/4270666/how-to-call-a-jquery-ui-modal-with-mvc-crud/4270998#4270998 – Omu 2010-11-26 12:44:25

回答

7

有明顯一堆的方式來做到這一點,但這裏是我會怎麼解決這個問題。在加載對話框以填充對話框的內容之前執行ajax調用,顯示對話框,然後保存關閉對話框並刷新網格。這些是基礎知識,下面有一些幫手代碼。我發現返回保存操作的json結果以確定保存是否成功,並且如果不是指示爲什麼沒有向用戶顯示的錯誤消息,這是一個好習慣。

<div id="dialog" title="Basic dialog"> 
    <!-- loaded from ajax call --> 
    <form id="exampleForm"> 
<input blah> 
     <input type="button" onclick="Save()" /> 
    </form> 
</div> 

<script> 
    $(function() { 
     $('.myPop').click(function() { 
      $.get("editController/loadContents", function(data){ 
      $("#dialog").html(data); 
      });   
      $("#dialog").dialog('open'); 
     }); 
    }); 


function Save(){ 
$.post("/editController/Edit", $("#exampleForm").serialize(), 
    function(data){ 
    $("#dialog").dialog('close'); 
    //update grid with ajax call 
    }); 
} 

</script> 
相關問題