0

网站上几乎会有一个图标。单击它会弹出一个带有以下字段的弹出窗口:

  1. 姓名
  2. 电子邮件

然后,您将能够填写该页面,并且将向“电子邮件”字段中提供的“电子邮件”发送一封电子邮件。问题是:我如何知道我在哪个页面上以便可以将其放入消息中?谢谢

4

2 回答 2

1

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

于 2011-02-22T12:43:38.480 回答
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
    ...
}
于 2011-02-22T18:08:08.993 回答