2016-11-22 3 views
0

私にはAjax.ActionLinkがあり、これはサーバーに要求を送信し、サーバーから結果を取得します。だからAjaxOption私は成功関数の名前を書きます。バックエンドとフロントエンドから特定のテーブル行を削除するには?

OnSuccess = "SuccessDeleteFunction" 

が、結果に基づいて、私はDOM element.Toが、私はこのコードを使用し、成功機能で、現在のDOM要素を渡す変更したい:

OnSuccess = "SuccessDeleteFunction(this)" 

しかし、どのように私は同時に両方を持つことができます。

@foreach (var item in Model) 
    { 
     <tr class="ContentRow" id="tr_'@item.id'"> 
      <td> 
       @Html.DisplayFor(modelItem => item.Name) 
      </td> 
       <td> 
       @Html.DisplayFor(modelItem => item.Email) 
       </td> 
       <td> 
       @Ajax.ActionLink(" ", "Delete", "Product", new { id = @item.Id }, new AjaxOptions() { Confirm = "Are you sure?", HttpMethod = "get", OnSuccess = "SuccessDeleteFunction" }, new { @class = "btn fa fa-trash text-danger fa-2x " }) 

       </td> 
     </tr> 
    } 

そして、あなたはこれをしなければならないあなたのJSコードで、そして一つのこと:あなたがTRのようにあなたの商品IDに持って

@foreach (var item in Model) 
{ 
    <tr class="ContentRow"> 
     <td> 
      @Html.DisplayFor(modelItem => item.Name) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.Email) 
     </td> 
     <td> 
      @Ajax.ActionLink(" ", "Delete", "Product", new { id = @item.Id }, new AjaxOptions() { Confirm = "Are you sure?", HttpMethod = "get", OnSuccess = "SuccessDeleteFunction" }, new { @class = "btn fa fa-trash text-danger fa-2x " }) 

     </td> 
    </tr> 
} 
+0

パラメータをajaxの成功メソッドに渡すことはできません。なぜそれが必要なの?それは意味をなさない。 –

+0

結果が成功したら、親trを削除します。したがって、サーバからリストをリロードする必要はなく、クライアント側ではそれを処理します。 – Afsaneh

+0

あなたもhtmlを共有しています。 –

答えて

0

:ここ

function SuccessDeleteFunction(result, tag) { 

    if (result.Success) { 
     // do sth 
    } 
    eval(result.Script); 
} 

は私のコードですあなたはもっと必要ですあなたの商品を返す IDから SERVER RESPONSE

function SuccessDeleteFunction(result) { 

    if (result.Success) { 
     // also return your that id from server in response.... 
     $("tr_" + result.id).remove(); 
    } 
    eval(result.Script); 
} 
関連する問題