Ajax Dialog

CSharp · Mvc

Model

using System;
using System.ComponentModel.DataAnnotations;

namespace HelloWorldMvcApp
{
	public class Objeto
    {
        public Objeto()
        {
        }
		
        public Objeto(string nome, double valor, double percentual)
        {
            Nome = nome;
            Valor = valor;
            Percentual = percentual;
        }
		
        public string Nome{ get; set; }
        public double Valor { get; set; }
        public double Percentual { get; set; }
    }
}

View

@model HelloWorldMvcApp.Objeto
@{
Layout = null;
}

<!DOCTYPE html>
<!-- template from http://getbootstrap.com/getting-started -->

<html lang="en">
	<head>
		<meta charset="utf-8" />
		<meta http-equiv="X-UA-Compatible" content="IE=edge" />
		<meta name="viewport" content="width=device-width, initial-scale=1" />
		<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.js" ></script>		
		<script type="text/javascript" src="https://rawgit.com/aspnet/jquery-ajax-unobtrusive/master/jquery.unobtrusive-ajax.js" ></script>
		
	</head>
	
	<body>
		@using (Ajax.BeginForm("Dados", "Home", new AjaxOptions { 
			OnSuccess = "onSucess"
		}, new { @id = "meuForm" }))
		{
		@Html.LabelFor(model => model.Nome)
		<br />
		@Html.TextBoxFor(model => model.Nome)
		<br />
		<br />
		@Html.LabelFor(model => model.Valor)
		<br />
		@Html.TextBoxFor(model => model.Valor)
		<br />
		<br />
		@Html.LabelFor(model => model.Percentual)
		<br />
		@Html.TextBoxFor(model => model.Percentual)
		<br />
		<br />
		<input type="submit" value="Enviar" />
		}
		<script>
			var onSucess = function (response) {
				alert(
					"Rcebi com sucesso os seguintes dados: \n" +
					"Nome: " + (response.Nome || "Não Informado") + "\n" +
					"Valor: " + response.Valor + "\n" +
					"Percentual: " + response.Percentual
				);
			}
		</script>
	</body>
</html>

Controller

using System;
using System.Web.Mvc;

namespace HelloWorldMvcApp
{
	public class HomeController : Controller
	{
		public ActionResult Index()
		{
			return View();
		}
		
		[HttpPost]
		public JsonResult Dados(Objeto teste)
		{
			
			return Json(teste);
		}
	}
}
;