在MVC中向朋友发送电子邮件

时间:2011-02-22 12:35:18

标签: asp.net-mvc asp.net-mvc-3 asp.net-mail

网站上会有一个图标。点击它会弹出一个弹出窗口,其中包含以下内容:

  1. 名称
  2. 电子邮件
  3. 然后您就可以填写该页面,并将电子邮件发送到“电子邮件”字段中提供的“电子邮件”。问题是:我怎么知道我在哪个页面,以便我可以把它放在消息中? 感谢

2 个答案:

答案 0 :(得分:1)

ASP.net中的电子邮件发送功能Example Code 请参阅此代码并在您的代码中实现。这会很有帮助。

答案 1 :(得分:1)

@ViewContext.RouteData.GetRequiredString("action")
@ViewContext.RouteData.GetRequiredString("controller")

应包含您可以使用的当前控制器和操作。您还可以提取其他路线参数,如:

@ViewContext.RouteData.Values["id"]

因此,此信息可以发布到将要发送电子邮件的控制器操作:

@using (Html.BeginForm(
    "Send", 
    "Email", 
    new { 
        currentAction = ViewContext.RouteData.GetRequiredString("action"), 
        currentController = ViewContext.RouteData.GetRequiredString("controller") 
    }, 
    FormMethod.Post)
)
{
    <div>
        @Html.LabelFor(x => x.Name)
        @Html.EditorFor(x => x.Name)
    </div>
    <div>
        @Html.LabelFor(x => x.Email)
        @Html.EditorFor(x => x.Email)
    </div>
    <input type="submit" value="Send email!" />
}

将发送电子邮件的行动:

public ActionResult Send(string name, string email, string currentAction, string currentController)
{
    // TODO: based on the value of the current action and controller send
    // the email
    ...
}