2011-10-26 4 views
1

보기에있는 정보를 컨트롤러에 전달해야합니다. 컨트롤러에 연결되면 해당 정보가 포함 된 전자 메일을 보내려합니다. @ HTML을 사용하는 것에 대해 생각해 보았습니다 .Action을 뷰에 연결했지만 내 이해에서 볼 때 ActionResult로 이동하면 전자 메일을 보내고 뷰로 돌아 가지 않을 수 있기를 원하지 않습니다.MVC -보기에서 컨트롤러로 데이터를 전달해야합니다.

+0

meh, 0 % 동의 –

답변

2

여기 jquery를 통해 수행되는 게시물로 수행하는 방법이 있습니다. 다른 옵션이 있지만 이것은 다른 날 이후로 내 마음 속에 신선했습니다.

HTML과 자바 스크립트

@using (Html.BeginForm()) 
{ 
    <input type="submit" value="SendEmail" onclick="SendEmail(); return false;" /> 
} 

<script type="text/javascript"> 
    function SendEmail() { 
     $.post('PathToController/SendEmail', 
      { 
       parameter: parameterValue 
    }) 
     .success(function (result) { 
      // Display a message that the email was sent???? 
     }); 
    } 
</script> 

또한 페이지가 정상적으로 게시물을 처리하도록하고 jQuery를 사용하지 수

[HttpPost, ActionName("SendEmail")] 
public string SendEmail(parameters) 
{ 
} 

컨트롤러. 이 경우 매개 변수는 사용할 컨트롤의 ID와 일치해야합니다.

관련 문제