MVC - 需要将数据从View传递到Controller

时间:2011-10-26 02:25:42

标签: asp.net-mvc razor uiviewcontroller

我需要将一些信息传递给控制器​​。 当它进入控制器时,我想发送一封包含该信息的电子邮件。 我正在考虑使用@ HTML.ActionLink视图,但根据我的理解,这是一个我不想要的ActionResult,因为我希望能够发送电子邮件而不是回到View。

1 个答案:

答案 0 :(得分:2)

这是通过jquery完成帖子的方法。还有其他的选择但是这一点在我的脑海中是新鲜的,因为我前几天刚刚做过。

HTML和javascript

@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>

控制器

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

您也可以让页面正常处理帖子,而不是使用jquery。如果是这种情况,那么您的参数需要与您需要使用的控件的ID相匹配。