Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    (MVC) dove inserire query con user in select

    Ciao a tutti,
    sto entrando nella logica dell'MVC, sto creando un programmino per diletto, ma vi chiedo qualche chiarimento.

    Vorrei creare un semplice programma di inserimento e visualizzazione banner.
    Ora riesco a creare i view, control e Moduli per creare editare ecc , questo per tutti i banner.
    Riesco in maniera poco bella ad estrarre i banner dai dataset dell'utente collegato, lo faccio tramite la pagina controlli e l'aspnetuser.
    Ora so che tutti le richieste al db è meglio farli dai moduli,ma non so come eseguirli.
    Nel modulo quando creo il nuovo dataset sono presenti e rimangono i memoria tutti i banner, c'è un modo per dirli di prendere solo quelli di un user? (è meglio passarli l'utente dal controller o da codice nel modulo?).

    Lo chiedo perchè non vorrei caricare e lasciare i banners in memoria (spreco inutile), meglio se selezionati sin dall'inizio.

    Spero di essere stato chiaro. Grazie
    Riccardo Rossi - Smart Agent 3

    GENIALTEK il tuo sito presto e bene
    www.genialtek.it

  2. #2
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,092
    Non ho capito bene quello che hai fatto.

    Normalmente la richiesta arriva al controller, che richiama il "modulo", fai la query che popola il modulo e il controller passa il modulo alla vista che formatterà il risultato.

  3. #3
    Intanto grazie, ho fatto in questo modo:
    nel controller:
    ' GET: Banners
    Function Index() As ActionResult
    If User.Identity.IsAuthenticated = True Then
    ViewBag("Utente") = User.Identity.Name
    Dim sql As String = "select * from Banners where utente='" & User.Identity.Name.ToString & "'"
    db.Banners.SqlQuery(sql)
    Return View(db.Banners.ToList())
    Else
    ViewBag("Utente") = "NESSUNO"
    Return View(db.Banners.ToList())
    End If




    End Function

    Ora è scritto in Vb, ma sto iniziando il C. Però come dicevi tu, la query è meglio inserirla nel modulo, è la stessa procedura o bisogna creare un funzione "function selezioneutenti" nel modulo?
    Grazie
    Riccardo Rossi - Smart Agent 3

    GENIALTEK il tuo sito presto e bene
    www.genialtek.it

  4. #4
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,092
    Entity framework?
    Quel db. è un DbContext?

  5. #5
    Scusa se ti faccio tribolare
    Dunque riassumo, nel control uso questo codice che ho riscritto e cambiato progetto:

    private Model2 db = new Model2();
    // GET: TabAnns
    public ActionResult Index()
    {
    if (User.Identity.IsAuthenticated != false)
    {
    // var tabAnn = db.TabAnn.Include(t => t.AspNetUsers);
    var sqlmia = "select * from Tabann where Username='" + User.Identity.GetUserId() +"'" ;
    var tabAnn = db.TabAnn.SqlQuery(sqlmia);
    return View(tabAnn.ToList());
    }


    return RedirectToAction("Index", "Home");
    }

    Per i model, ho utilizzato l'Entity Db First, dove prima ho creato il database e poi il codice del modulo. Parte del codice Model2:
    public partial class Model2 : DbContext
    {
    public Model2()
    : base("name=Model2")
    {
    }


    public virtual DbSet<AspNetUsers> AspNetUsers { get; set; }
    public virtual DbSet<TabAnn> TabAnn { get; set; }

    Ora è sicuramente sbagliato , prendere tutto il db dal model per poi selezionarlo, rimarrebbe in memoria. C'è un modo per fare selezionare gli annunci dell'utente collegato direttamente dal model?
    Riccardo Rossi - Smart Agent 3

    GENIALTEK il tuo sito presto e bene
    www.genialtek.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.