2016-08-26 4 views
0

this 항목의 "단추 대신 하이퍼 링크 (actionlink)를 사용하여 POST 메서드를 실행하는 방법"질문에 대한 대답을 찾았습니다. 내가 양식의이 방법으로 방법을 제출 사용한단추가없는 Html.BeginForm 및 POST 메서드

는 - 간단 같습니다

@foreach (var item in Model) 
{ 
    using (Html.BeginForm("Delete", "Area", new { id = item.id }, FormMethod.Post)) 
    { 
     <tr> 
     ... 
     <td> 

     <a href="#" onclick="$('#sbmt').trigger('click'); return false">Delete</a> 
     <input id="sbmt" type="submit" style="visibility: hidden" /> 

     </td> 
     </tr> 
    } 
} 

일반 선언

<a href="#" onclick="$(this).parents('form').submit();">Delete</a> 

작동하지 않습니다 버튼을 선언하지 않고.

질문은 다음과 같습니다

1 /이 동일한 작업을 수행하는 것이 가능하지만 버튼을 숨기지 않고? 내 코드에서 버튼을 사용하거나 숨기고 싶지 않다는 뜻입니다.

2/위에 나열된 해결책의 장단점은 무엇입니까?

답변

0
  1. 그것은 단지

    using (Html.BeginForm("Delete", "Area", new { id = item.id }, FormMethod.Post,new {id="frm"})) 
    { 
    
    } 
    and then 
    <a href="javascript:$('frm').submit();" class="login-button"></a> 
    

같은 양식에 ID를 부여하는 방식의 button.One없이 가능하지 않으면 것은 다음

<a href="javascript:document.getElementById("frm").submit();" class="login-button"></a> 
  1. 잘 모름 버튼의 문제점은 무엇입니까? 양식을 제출하기 위해 더러운 코딩 (나쁜 방법)을 제외하고는 어떤 단점도 볼 수 없습니다.