2013-02-28 2 views
0

죄송합니다. 사소한 일이라면, 많은 의견을 읽었으며 여전히 잘못된 것을 볼 수 없습니다. 나는 약간의 튜토리얼을 끝냈다. 그리고 그들은 잘 작동하는 것처럼 보인다. 그래서 나는 정말로 간단한 것을 놓치고있다.Jquery Post가 MVC 컨트롤러에 도달하지 못했습니다.

나는 데이터베이스에서 항목을 제거하고보기를 업데이트하기 위해 컨트롤러에 JQuery Post를 다시 보내려는 기본 '제거'링크가 있습니다.

내보기/자바 스크립트 :

<script type="text/javascript"> 
$(function() { 
    $(".RemoveLink").click(function() { 
     var id = $(this).attr("data-id"); 

     if (id != '') { 
      $.post("@Url.Content("~/Agent/Remove")", { "id": id }, function (data) { alert('Here i am'); }); 
     } 
    }); 
}); 

@foreach (var item in Model.Object) { 
<tr id="[email protected]"> 
    <td> 
     @Html.DisplayFor(modelItem => item.Description) 
    </td> 
    <td> 
     <a href="#" class="RemoveLink" data-id="@item.ID" >Remove</a> 
    </td> 
</tr> 
    } 

내 컨트롤러 :

[HttpPost] 
    public ActionResult Remove(int id) 
    { 
     return Json(new { Data = "true" }); 
    } 

어떤 도움이 좋을 것입니다.

+2

콘솔 도구를 사용하여 요청/응답주기를 보았습니까? –

+2

그게 올바른 URL입니까? @ @ Url.Action ("Remove", "Agent")' – musefan

+2

또한 자바 스크립트 콘솔을 검사하여 자바 스크립트에 오류가 없는지 확인하십시오. – musefan

답변

1

대신 @Url.Action("Remove", "Agent")을 사용하십시오.

@Url.Content("...")은 사이트의 정적 콘텐츠를 찾는 데 사용됩니다.

건배

+1

올바른 구문은'@ Url.Action ("Remove ","Agent ")' – nemesv

+0

@nemesv : 실제로 액션 이름은 첫 번째 매개 변수이며 컨트롤러 이름입니다. 나는 당신의 편집을보고 ;-) – musefan

+0

닫기 ... 너무 많은 음성 표시 (또는 당신이 그것을 보는 방법에 따라 너무 적음). 또한 이것이 OP 문제의 원인이라고 확신합니까? 코멘트로 게시 한 이유가 있습니다 – musefan

0

아래 코드가 잘 작동합니다.

@foreach (var item in Model.Object) { 
    <tr id="[email protected]"> 
     <td> 
      @Html.DisplayFor(modelItem => item.Description) 
     </td> 
     <td> 
      <input type="button" class="RemoveLink" id="@item.ID" Value="Remove" /> 

     </td> 
    </tr> 
     } 

<script type="text/javascript" language="javascript"> 
    $(document).ready(function() { 
     $('.RemoveLink').live("click", function() { 
      Remove($(this)); 
     }); 
    }); 

    function Remove(_this) { 

     var Id= $(_this).attr('id'); 

     $.ajax({ 
      type: 'POST', 
      url: '@Url.Action("Remove", "Agent")', 
      data: "{id: '" + Id + "'}", 
      contentType: 'application/json; charset=utf-8', 
      dataType: 'json', 
      success: function (data) { 
       //do something here...... 
      }, 
      error: function() { 

      } 
     }); 
    } 
</script> 
+0

당신은 무엇을 했습니까? BTW OP 코드가 이미 잘 작동, 그것을 테스트했습니다 – musefan

+0

@ musefan -i 작업 코딩 샘플을 .... 주어진 그는 ..... ..... –

+0

미안하지만, 충분하지 않습니다. OP 코드가 이미 작동하므로 문제를 식별 할 수 없습니다 – musefan

관련 문제