PDA

View Full Version : [Asp.Net/MVC/C#]Problema con le Views


RaouL_BennetH
09-01-2012, 17:53
Ciao a tutti :)

Da un metodo in un Controller, vorrei fare in modo di richiamare un'altra view

il sorgente è :


//lato controller

public ActionResult SaveUser()
{
User u = null;
bool result = false;
if(blabla != null)
result = context.Add(u)
if(result)
{
//qui vorrei redirigere il tutto su un'altra view
RedirectToAction("altraView", "stessoController");
}
return Json(new { success = result });
}

//lato View
@using (Ajax.BeginForm("SaveUser", "reserved", new AjaxOptions()
{
Confirm = "Si vuole procedere con l'aggiornamento dei dati anagrafici?",
OnBegin = "validate",
OnSuccess = "SaveUserAnag"
}, new { @class = "registration", id = "registration", Method = "POST" }))

}


function SaveUserAnag(json) {
if (json["success"])
alert('Dati utente correttamente aggiornati');
else
alert('L'aggiornamento non è andato a buon fine!');
}


Premetto che la procedura di aggiornamento funziona.

L'unica cosa che ottengo però, è una pagina vuota con:

{success : true }

Plz, datemi una manina !

Grazie.

RaouL.

Kralizek
10-01-2012, 06:26
Conosco il problema: Devi importare uno script javascript nella tua view o nel layout file. Appena arrivo in ufficio ti dico quale. È qualcosa tipo MicrosoftAjax.css

Kralizek
10-01-2012, 08:05
Questo articolo é quello che cerchi, se ho capito bene il tuo problema

http://msdn.microsoft.com/en-us/library/dd381533.aspx

in particolare dovresti aggiungere


<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftAjax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftMvcAjax.js")" type="text/javascript"></script>

RaouL_BennetH
10-01-2012, 10:16
Ciao !! :)

Grazie per il link e per il post.

Ho già inclusi i vari script, infatti, per altre pagine dove tutto avviene "normalmente", non ho problemi.

Ci dev'essere qualcosa che mi sfugge anche se credo di aver capito dove non riesco ad agire:

1) Per diverse Views ho uno stesso controller
2) Il problema lo ho se devo chiamare un'azione che mi porta ad un'altra view dallo stesso controller.

Dato che sulla view ho il classico js "OnSuccess" è qui che in pratica non avviene nulla:


function SaveDatiAnagrafici(json) {
if(json["success"])
alert("blabla")
//dovrei dire qui di caricare l'altra view ?


Grazie Kralizek per la disponibilità !!