MVC vs SQLdata

giovedì 27 novembre 2014 - 12.45

jjchuck Profilo | Senior Member

ciao
ho scoperto da poco MVC e sto facendo la prima interrogazione su DB

MODEL:
Public Class Agenti Private m_codage As String Public Property codage() As String Get Return m_codage End Get Set(ByVal value As String) m_codage = value End Set End Property Private m_nome As String Public Property nomeage() As String Get Return m_nome End Get Set(ByVal value As String) m_nome = value End Set End Property End Class

CONTROLLER:
Public Function Agenti() As ActionResult Dim conn As New SqlConnection Dim cmd As New SqlCommand Dim cmdString As String = " SELECT Codage,Nome FROM tabella" conn = New SqlConnection("...") cmd = New SqlCommand(cmdString, conn) Try conn.Open() Catch ex As SqlException Response.Write(ex.Message) End Try Dim rdr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection) Dim model = New List(Of Agenti)() While rdr.Read() Dim age = New Agenti() age.codage = rdr("Codage") age.nomeage = rdr("Nome") model.Add(age) End While Return View(model) End Function
VIEW:
<table> <tr> <th>Agenti</th> <th> codice </th> <th> agente </th> </tr> <% For Each item In Model%> <tr> <td> @item.agenti.codage </td> <td> @item.agenti.nomeage </td> </tr> <% Next%> </table>

il reader funziona bene perchè mi restituisce un numero di righe corretto ma la view non mi restituisce i valori dei campi...
sono all'inizio ed ancora debbo capire bene lo switch...help

alx_81 Profilo | Guru

>ciao
ciao

>il reader funziona bene perchè mi restituisce un numero di righe
>corretto ma la view non mi restituisce i valori dei campi...
come hai specificato il model nell'intestazione della view?

Nel tuo caso, dovrai fare un model che ha almeno una proprietà che è una List di Agenti.
Quindi il model non è Agenti, ma, ad esempio AgentiCollection, il quale al suo interno ha una proprietà Agenti che è List di Agenti.
Nell'intestazione della pagina poi il model deve essere di tipo AgentiCollection e nella vista, all'interno del foreach andrai a mostrare @item.codage e @item.nomeage.
Esempio in c#:

-- MODEL
public class AgentiCollection { public List<Agenti> Agenti {get; set;} } public class Agenti { public string codage {get; set;} public string nomeage {get; set;} }

-- VIEW (in testa)
@model Tuonamespace.AgentiCollection
...
[tuo foreach]




Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/en-us/mvp/Alessandro%20Alpi-4014222
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5