193 messaggi dal 05 novembre 2009
:-)...questo ci sara' utile
Un metodo di azione può archiviare i dati nell'oggetto TempDataDictionary del controller prima di chiamare il metodo RedirectToAction per richiamare l'azione successiva. Il valore della proprietà TempData viene archiviato nello stato della sessione. Qualsiasi metodo di azione chiamato dopo l'impostazione del valore TempDataDictionary può ottenere valori dall'oggetto e quindi elaborarli o visualizzarli. Il valore di TempData viene salvato in modo permanente fino a quando non viene letto o non si verifica il timeout della sessione. Questo salvataggio permanente di TempData consente scenari come il reindirizzamento, in quanto i valori di TempData sono disponibili oltre una singola richiesta.
193 messaggi dal 05 novembre 2009
Ti posto una parte di esempio che ho provato

 public class MyTestController : Controller
    {
        Repository.Repository rep = new Repository.Repository();
        public ActionResult MyAction(int? a, int? b)
        {

        
            //ViewBag.Message = string.Format("a + b = {0}", a + b);
            List<Book> bookList = new List<Book>();
            bookList = rep.GetAll();// valorizzo la lista
            TempData["Book"]=bookList;// metto la lista dentro TempData


            return RedirectToAction("Details");

            
        }

      

        public ActionResult Details()
        {
            List<Book> bookList = new List<Book>();
            bookList = (List<Book>)TempData["Book"];// recupero la lista da TempData
            return View("MyAction",bookList);
        }    

    }


Modificato da Govinda il 25 agosto 2011 10.13 -
9 messaggi dal 09 novembre 2002
List<Video> VideosGen;
List<Corso> CorsiGen;

public ActionResult Corso()
{
Corso CorsoGen;
Video VideoGen;

string UrlXml;
string id ="";
UrlXml = "c://Prove//videodata.xml";
// UrlXml = Server.MapPath("\\Content\\Video\\videodata.xml");

XmlTextReader reader = new XmlTextReader(UrlXml);

VideosGen = new List<Video>();
CorsiGen = new List<Corso>();
CorsoGen = null;
VideoGen = null;

string elementName = "";

while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element: // The node is an element. <title>
elementName = reader.Name;

switch (elementName)
{
case "Course":
reader.MoveToFirstAttribute();
CorsoGen = new Corso();
id = reader.Value;
CorsoGen.CodiceCorso = reader.Value;
break;
case "Video":
VideoGen = new Video();
VideoGen.CodiceCorso = id;
break;
}

break;

case XmlNodeType.Text: //Display the text in each element.
switch (elementName)
{
case "Title":

VideoGen.Titolo = reader.Value;
break;

case "Teacher":
VideoGen.NomeDocente = reader.Value;
CorsoGen.NomeDocente = reader.Value;
break;

case "Url":
VideoGen.Indirizzo = reader.Value;
break;

case "Description":
VideoGen.Descrizione = reader.Value;
CorsoGen.NomeCorso = reader.Value;
break;

case "ThumbnailImage":
VideoGen.ThumbnailImage = reader.Value;
break;
}
break;

case XmlNodeType.EndElement: //Display the end of the element </title>.
string nomeElemento = reader.Name;

switch (nomeElemento)
{
case "Course":
CorsoGen.Videos = VideosGen;
CorsiGen.Add(CorsoGen);
CorsoGen = null;
break;

case "Video":
VideosGen.Add(VideoGen);
VideoGen = null;
break;
}
break;
}
}
// Versione con la session //
System.Web.HttpContext.Current.Session["video"] = VideosGen ;
// fine versione session //
return View(CorsiGen);
}

ora io nell'altra Action ViewCorso() vorrei riuscire a vedere la lista VideosGen. con la session la vedo ma come la posso ciclare?
9 messaggi dal 09 novembre 2002
ragazzi scusate ma come avrete capito sto a 0 di c# e mvc.... provengo da vb6 quindi mi sto aggiornando e sinceramente la vedo parecchio tosta con la mentalità vb6 :)
193 messaggi dal 05 novembre 2009
Tranquillo tutti siamo partiti da zero e tutti dobbiamo ricominciare sempre, questo e' un mondo dove le sicurezze non esistono, serve solo la voglia di imparare :-)), che a quanto pare noi abbiamo :-)..dai,dai, che tra un po' sarai un pozzo di consigli, e nn pensare di poter fuggire ;-)

alora per il tu problema penso che in questo modo potresti risolvere
 foreach (var item in (List<Video>)Session["video"])
            {
               
               item...
               
            }
9 messaggi dal 09 novembre 2002
Govinda sei un grande :))))))
funziona alla perfezione :))

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.