Отправить другу функциональность в MVC
На сайте, скорее всего, будет иконка. щелкнув по нему, вы увидите всплывающее окно со следующими ссылками:
- название
- Эл. адрес
После этого вы сможете заполнить страницу, и электронное письмо будет отправлено на адрес электронной почты, указанный в поле "Электронная почта". Проблема в том, как мне узнать, на какой странице я нахожусь, чтобы я мог поместить ее в сообщение? Спасибо
2 ответа
@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
...
}
Функциональность отправки электронной почты в примере кода ASP.net. Примените этот код и используйте его в своем коде Это будет полезно.