C#コーディングでのMVCフレームワークの使用。ビューは標準のHTMLコードで記述されています。ユーザーが送信ボタンをクリックすると、「メッセージが送信されました」という確認メッセージが必要です
これがコントローラです:
public ActionResult Index(ContactViewModel contactVM){
if (!ModelState.IsValid)
{
string url = Request.UrlReferrer.AbsolutePath+ "#contact";
return View();
}
else
{
var contact = new Contact
{
Name = contactVM.Name,
Email = contactVM.Email,
Subject = contactVM.Subject,
Message = contactVM.Message
};
new Email().Send(contact);
return RedirectToAction("Index");
}
ここにビューがあります:
<input type="submit" class="submit_btn left" name="Submit" id="submit" value="Submit"/>
<input type="reset" class="submit_btn right" name="Reset" id="reset" value="Reset" />
親切に支援してください。
RedirectToAction()
の代わりにView
を返します:
new Email().Send(contact);
ViewBag.Message = "Message Sent";
return View();
ビューで:
@if(ViewBag.Message != null)
{
<script>
$(document).ready(function(){
alert('@ViewBag.Message');
});
</script>
}
Insideコントローラを追加
ViewBag.IsEmailSent=true;
public ActionResult Index(ContactViewModel contactVM){
if (!ModelState.IsValid)
{
string url = Request.UrlReferrer.AbsolutePath+ "#contact";
return View();
}
else
{
var contact = new Contact
{
Name = contactVM.Name,
Email = contactVM.Email,
Subject = contactVM.Subject,
Message = contactVM.Message
};
new Email().Send(contact);
ViewBag.IsEmailSent=true;
return RedirectToAction("Index");
}
Index.cshtmlページ
@if(ViewBag.IsEmailSent)
{
<script>
$(function(){
$("#successModal").modal('show'); });
</script>
}
結果を(RedirectToAction("Index")
から)確認を提供するビューに変更します。
既存のページのコピー(Index
など)がほとんど必要ない場合は、ShowConfirmation
フラグを含むオブジェクトを渡して、インデックスビューにいくつかのロジックを表示します。そのフラグが設定されているかどうかの確認。