Vorrei visualizzare al momento dell'invio di un modulo i progressi che compie l'ActionResult nella pagina ...
ho provato in questo modo:
codice:public class HomeController : Controller { public string currentStatus = string.Empty; // // GET: /Home/ public ActionResult Index() { return View(); } [HttpPost] public ActionResult Index(int aa = 0) { System.Threading.Thread.Sleep(2000); currentStatus = "prima"; System.Threading.Thread.Sleep(2000); currentStatus = "seconda"; System.Threading.Thread.Sleep(3000); currentStatus = "terza"; System.Threading.Thread.Sleep(1000); currentStatus = "quarta"; System.Threading.Thread.Sleep(4000); currentStatus = "quinta"; return View(); } public ActionResult Progress(string test) { this.ControllerContext.HttpContext.Response.AddHeader("cache-control", "no-cache"); return Json(currentStatus); } }il post me lo esegue correttamente ...codice:<script type="text/javascript"> function updateMonitor(status) { $("#currProgress").html("[currProgress]: " + status); } function Executefunc() { $.ajax( { type: "Post", url: "/Home/Progress", data: { test: "aaa" }, dataType: "script", success: function (progress) { //alert(result); if (progress >= 100) { updateMonitor("Completed"); clearInterval(intervalId); } else { updateMonitor(progress + "%"); } //window.open(result, "Ann")//Open the returned URL in a window }, error: function (req, status, error) { alert("An error occurred while processing your request."); } }); }, 100); } </script> @using (Html.BeginForm()) { <input id="submitbtnbs" name="btnSubmit" type="submit" onclick="javascript: return Executefunc();" value="invia" /> } <div id="monitors"> <p id="currProgress"></p> </div>
solo che non mi richiama l'ActionResult Progress ...
Come posso risolvere???
Qualche consiglio??
Grazie in anticipo.

Rispondi quotando
