我正在创建一个Razor联系表单,除了显示“成功消息”外,一切正常。我正在调用一个帮助器方法DisplayCompletionMessage()。我有一个标题和段落。调用此方法时会显示消息,但就像我在我所在的页面中放置一个完整的新页面。这就像我有两个母版页,即使该方法只显示标题和段落。
if (!isPostBack)
{
Session.Remove(ContactFormModel.SessionKey);
@RenderForm(formModel)
}
else
{
if (Session[ContactFormModel.SessionKey] != null)
{
@DisplayResubmissionError()
return;
}
formModel = new ContactFormModel(Request.Form);
var errors = formModel.Validate();
if (errors.Count > 0)
{
@DisplayErrors(errors)
@RenderForm(formModel)
}
else
{
@DisplayCompletionMessage(formModel)
@SendContactEmail(formModel)
}
}
@helper DisplayCompletionMessage(ContactFormModel formModel)
{
<h3>Thank You</h3>
<p>
Thank you, @formModel.Name, your message has been successfully submitted!
</p>
}
答案 0 :(得分:0)
如何使用TempData显示您的消息。
在您的控制器中,您在发送电子邮件后设置TempData
.... //other code in your controller
....
TempData["successMsg"] = "Thank you, " + User.Name + ", your message has been successfully submitted!";
....
....
在视图中,如果TempData不为null并显示它
,则检查它@if(TempData["successMsg"] != null)
{
<h3>Thank you</h3>
<p>
TempData["successMsg"].ToString()
</p>
}