2012-03-14 10 views
0

私持っているオブジェクトを削除するajax.actionlinkが含まれている次の表: -かみそりビューでオブジェクトを削除しながら、「削除」リンクを無効にする方法を

<tr id = @answer.AnswersID> 
     <td> 
      @Html.DisplayFor(modelItem => answer.Description) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => answer.Answer_Description.description) 
     </td> 
     <td> 

     @{ string i = "Are uou sure you want to delete " + @answer.Description.ToString() + " ?";} 
     @Ajax.ActionLink("Delete", "Delete", "Answer", 
     new { id = answer.AnswersID }, 
      new AjaxOptions 
      { 
       Confirm = i, 
       HttpMethod = "Post", 
       OnBegin = string.Format(
         "disablelink({0})", 
         Json.Encode(answer.AnswersID)), 
       OnSuccess = string.Format(
         "deleteconfirmation3({0})", 
         Json.Encode(answer.AnswersID)) 
      }) 
     </td> 
     </tr>} 

と、次のOnBegin & OnSuccessスクリプト: - 私がやろうとしています何

function disablelink(rid) { 
    $('#' + rid).attr("disabled",true);} 

function deleteconfirmation3(rid) { 
    $('#' + rid).remove(); 
    jAlert(rid + ' Was Deleted Succsfully succsfully', 'Deletion Confirmation');} 

は二回削除ボタンをクリックしてからユーザーを防ぐためのものですが、システムがプロである間('#' + rid).attr("disabled",true);を削除リンクをクリックしてからユーザーを防ぐことはできません最初の削除要求と「削除」リンクを終了することは引き続き有効になります。 削除リクエストの処理中にテーブル行全体を有効にするにはどうすればよいですか?

2番目の質問: -私は私のJavaスクリプト機能にsimilat何かを2つのパラメータを渡す方法: - Json.Encodeが唯一つのパラメータを渡すことが可能と

OnSuccess = string.Format(
          "deleteconfirmation3({0}.{0})", 
          Json.Encode(answer.AnswersID,answer.Description)) 

br

+0

あなたの行とアンカーリンクのIDは同じです。良くない。リンクを修正して無効にします。 " – veblock

+0

"、私はどのようにIDを割り当てることができますか?2番目: 'string.Format(" deleteconfirmation3({0}。{1}) "、Json.Encode(answer.AnswersID)、Json.Encode(answer.Description) ajax.actionlink?行IDと比較してユニークにする方法は? BR –

+0

私は$( '#' + rid).bind( 'click'、false)を試しました。 これは、ユーザーをクリックするとバインドされるようです。 –

答えて

0

私は同じ問題がありました。あなたはこの方法で行うことができます2番目の質問については

(onCompleteのプロパティを見て)私は良い作品トグル回避策を使用していた最初の質問のための

@Ajax.ActionLink(@"Show others", "ActionName", "ControllerName", 
    new { param1= Model.param1, param2= Model.param2 }, 
     new AjaxOptions 
     { 
      UpdateTargetId = "idDivToUpdate", 
      HttpMethod = "POST", 
      InsertionMode = InsertionMode.InsertAfter, 
     OnFailure = "AjaxBoxVideoGalleryFailure('showOthersFg')", 
OnBegin = "AjaxBoxVideoGalleryBegin('paramToJqueryFunction')", 
OnComplete = string.Format("showArticlesNew(window.event ? event : null,'paramToJquery','OtherParameter',{0},1,3)", myC#Variable), 
LoadingElementDuration = 250 
    }, 
    new { @class = "cssClassToAssign", id = "idOfMyLink" }) 

//use that line of code both in complete and failure for ajax call 
function AjaxBoxVideoGalleryFailure(idbutton) { 
    $('#' + idbutton).toggle(); 
} 
function AjaxBoxVideoGalleryBegin(idbutton) { 
    $('#' + idbutton).toggle(); 
} 
関連する問題