Display popup confirmation message with MVC C# after postback

Gman16 picture Gman16 · May 11, 2014 · Viewed 70k times · Source

Using MVC Framework with C# coding. The views are written in standard HTML code. I require a confirmation message saying "Your message has been sent" once the user clicks the submit button

Here is the controller:

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");
        }

Here is the View:

<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" />

Kindly assist.

Answer

Ehsan Sajjad picture Ehsan Sajjad · May 11, 2014

Instead of RedirectToAction(), return View :

    new Email().Send(contact);

    ViewBag.Message = "Message Sent"; 

    return View();

In View:

@if(ViewBag.Message != null)
{
<script>

$(document).ready(function(){

alert('@ViewBag.Message');

});

</script>

}