2012-04-09 4 views
0

私はMVC3プロジェクトを作成しています。私は、ユーザーが編集できるようにポップアップメニューとしてオープンする必要がある部分図は、ある名前が示すようにグリッドデザインのポップアップボックスを編集

<td style="color: Black; background-color: Bisque; text-align: center; width: 410px"> 
    @Html.ActionLink(@item.LookUp_NameString, "EditPartial", "Capitation", new { id = item.CAPITATION_RATE_ID }, new { @class = "actionLink" }) 
</td> 

EditPartial:今私はactionLinksなどのデータを持つ列を持つテーブルを持っていますオブジェクトの詳細を保存して元のページに戻すことができます。

レンダリング部分を試しましたが、id値を動的に渡すことができません。

これは、グリッドの編集機能用です。これを実装する最善の方法は何でしょうか?

答えて

3

モデルポップアップでEditPartialアクションメソッドの結果を開くには、モデルポップアップコードが必要です。

jQuery UIは1つのオプションです。 http://jqueryui.com/demos/dialog/

1)は)、あなたのページに

2をjQueryのUIの参照を含めることから

<script type="text/javascript"> 
    $(function(){ 
     $(".actionLink").click(function (e) { 
      var url = this.href; 
      var dialog = $("#dialog"); 
      if ($("#dialog").length == 0) { 
       dialog = $('<div id="dialog" style="display:hidden"></div>').appendTo('body'); 
      } 
      dialog.load(
       url, 
       {}, // omit this param object to issue a GET request instead a POST request, otherwise you may provide post parameters within the object 
       function (responseText, textStatus, XMLHttpRequest) { 
        dialog.dialog({      
         close: function (event, ui) {        
          dialog.remove(); 
         }, 
         modal: true, 
         width: 460, resizable: false 
        }); 
       } 
      );   
      return false;   
     }); 
    }); 
    </script> 

モデルのポップアップにあなたの通常のリンクに変換しますどのページに以下のスクリプトを追加します。アクションの結果、モデルポップアップに表示するマークアップを返すことができます。ほとんどあなたはビューを返すでしょう。部分的なビューを表示する場合は、ajaxリクエストであり、通常のリクエストであれば通常のビューを表示するには、Request.IsAjaxRequestメソッドをチェックしてそれを確認します。それは両方の要求を処理しているので、

public ActionResult EditPartial(int id) 
{ 
    CustomerViewModel objCustomer=GetCustomer(id); 
    if(Request.IsAjaxRequest()) 
    { 
    return View("Partial/Edit",objCustomer); 
    } 
    return View(objCustomer); 

} 

(、あなたは通常のページと(モデルポップアップのための)部分ページ私が代わりにEditPartialEditとして私のアクションメソッドに名前を付けることを好む

を表示するために存在2つの見解を持っていると仮定すると、アヤックスとノーマル)

+0

あなたは素晴らしいです。 – OBL

+0

ロジックを実装した後、ユーザーが詳細を編集できる部分ページに移動します。保存ボタンをクリックすると、ajaxコールが作成され、成功した場合にデータベースに変更が保存されます。return data = true成功の場合にEditPartialページからこのダイアログを閉じるにはどうすればよいですか? ありがとう! – OBL

関連する問題