527 messaggi dal 18 dicembre 2012
Ciao a tutti
ho appena iniziato a studiare MVC e fino ad ora lo trovo complicato da utilizzare e da modificare.
Devo modificare un ecommerce. nopCommerce, e ho delle enormi difficoltà nel capire come fare anche una semplice modifica.
Per esempio, ho questo codice di una partian view:
@model IList<ProductOverviewModel>

@using Nop.Web.Models.Catalog;

@if (Model.Count > 0)
{    <section class="slider">
        <h2 class="prodotti-title">@T("HomePage.Products")</h2>
        
        <div class="container slider-nav">
           <div class="row">
              <div class="col-xs-6">
                <h2><a class="slider-move" data-target="vino" href="#">Vino</a></h2>
                <div class="col-xs-6 col-sm-3"><a class="slider-move" data-target="rosso" href="#">Rosso <br><i class="fa fa-chevron-down"></i> </a></div>
                <div class="col-xs-6  col-sm-3"><a class="slider-move" data-target="rosato" href="#">Rosato <br><i class="fa fa-chevron-down"></i></a></div>
                <div class="col-xs-6  col-sm-3"><a class="slider-move" data-target="bianco" href="#">Bianco <br><i class="fa fa-chevron-down"></i></a></div>
                <div class="col-xs-6  col-sm-3"><a class="slider-move" data-target="spumante" href="#">Spumante <br><i class="fa fa-chevron-down"></i></a></div>
              </div>
              <div class="col-xs-6">
                <h2><a class="slider-move" data-target="olio" href="#">Olio</a></h2>
                <div class="col-xs-6"><a class="slider-move" data-target="olio" href="#">Leggero <br><i class="fa fa-chevron-down"></i></a></div>
                <div class="col-xs-6"><a class="slider-move" data-target="olio" href="#">Intenso <br><i class="fa fa-chevron-down"></i></a></div>
              </div>
           </div>
        </div>
        
        <div class="frame" >
            
            <ul class="slidee">

                
                @foreach (var item in Model)
                {   
                        @Html.Partial("_ProductBoxHome", item)                      
                }                
            </ul>            
        </div>   
    </section>


1- non riesco a capire come faccio a sapere qual'è la pagina controller. Cercando tra le varie pagine ho trovato una pagina che contiene azioni per diverse pagine che hanno a che fare con i prodotti.
2- Questo pezzo di codice mi permette di visualizzare dei prodotti, ma se oltre a visualizzare i prodotti volessi anche visualizzare altri dati letti dal db, come faccio? Da come capisco dal codice, il controller mi carica la lista dei prodotti, poi controlla se ci sono prodotti e li visualizza. Non capisco come caricare altre info che non appartengono alla lista dei prodotti.
3- CMS che sto tentando di modificare utilizza EF codefirst, se io volessi aggiungere altri campi, per esempio ai prodotti, come faccio ad aggiungerli al db?

Ho una gran confusione e non riesco proprio a capire i vantaggi di MVC. Trovo tutto più lento e complicato.
Grazie mille
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,

Svipla ha scritto:

ho delle enormi difficoltà nel capire come fare anche una semplice modifica

Questo è normale se non hai ancora acquisito il necessario bagaglio tecnico per iniziare ad usarlo. Devi concederti più tempo per apprendere le basi, non puoi semplicemente buttarti a capofitto in un ambiente di lavoro del tutto sconosciuto.
Leggi questa discussione di qualche giorno fa:
http://forum.aspitalia.com/forum/post/405126/Mvc-Web-Api-Tempo.aspx

Svipla ha scritto:

non riesco a capire come faccio a sapere qual'è la pagina controller

La view non deve saperlo. La sua specifica responsabilità è quella di presentare il modello in HTML, e non si deve occupare di altro.
La view deve restare "stupida", si dice.

Svipla ha scritto:

Questo pezzo di codice mi permette di visualizzare dei prodotti, ma se oltre a visualizzare i prodotti volessi anche visualizzare altri dati letti dal db, come faccio?

Puoi crearti una view a cui la tua action passerà un oggetto complesso, contenente magari una lista di prodotti, una lista di clienti, i dati sul venduto e qualsiasi altra cosa vorrai passargli. Questo oggetto viene definito "ViewModel", perché "adatta" vari model alla view. Cerca MVC ViewModel qui nel forum, troverai altre discussioni.
La view, a quel punto, dovrà a sua volta delegare la presentazione di ciascuno degli oggetti inclusi nel ViewModel alla partial view specifica.

Svipla ha scritto:

3- CMS che sto tentando di modificare utilizza EF codefirst, se io volessi aggiungere altri campi, per esempio ai prodotti, come faccio ad aggiungerli al db?

Di solito è sufficiente aggiungere delle proprietà alle classi del modello. Esempio: trova la classe Product e aggiungi una nuova proprietà a tua scelta. Lo schema del database *dovrebbe* aggiornarsi di conseguenza, ma non posso dirlo con sicurezza perché non conosco nopCommerce.

ciao,
Moreno
Modificato da BrightSoul il 17 settembre 2014 14.30 -

Enjoy learning and just keep making
527 messaggi dal 18 dicembre 2012
Grazie Moreno
anche se ora ho una gran confusione e non riesco a capire i vantaggi nell'uso di MVC, vorrei imparare MVC.
Hai libri, tutorial ecc da suggerire?
Grazie
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,

Svipla ha scritto:

non riesco a capire i vantaggi nell'uso di MVC, vorrei imparare MVC.

Ottimo spirito! Vedrai che continuando a studiarlo, i vantaggi di ASP.NET MVC diventeranno evidenti.

In italiano hai il libro, mentre in inglese ci sono varie altre risorse: la guida su asp.net/mvc, dei corsi nella Microsoft Virtual Academy (gratuiti e a volte con sottotitoli in italiano) e il video tutorial di questo sant'uomo chiamato kudvenkat.

Scegli le risorse che pensi siano più idonee al tuo metodo di studio.
Non avere fretta perché ci vorrà del tempo. E' ovvio che, se devi realizzare questo sito ecommerce in fretta, devi affiancarti a qualcuno che già abbia esperienza con ASP.NET MVC oppure tornare ad usare ASP.NET WebForms finché non ti senti abbastanza confidente da iniziare ad usare MVC.

ciao,
Moreno

Enjoy learning and just keep making
527 messaggi dal 18 dicembre 2012
Libro aspitalia.com già acquistato
Grazie mille per l'aiuto

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.