none
cargar un Modelo (MVC) con Linq to XML RRS feed

  • Pregunta

  • Que tal amigos del foro, aquí va mi pregunta:

    Estoy realizando una consulta a un servicio XML utilizando Linq to XML por supuesto. Estoy trabajando con MVC 5 en Visual Studio 2012, desarrollando en VB.NET. Cree una clase en la carpeta Models (cias):

    le cree este código:

    Public Class cias
        Public cia As String
        Public nombre_cia As String
        Public direc1_cia As String
        Public grupo_cia As String
    
    End Class

    En mi controlador ingrese esta función: 

    Public Function CargarCias(ByVal path As String) As List(Of cias)
            Dim geciaXML As XDocument = XDocument.Load(path)
            Dim gecias = From gecia In geciaXML.Descendants("gecias")
                         Where gecia.Element("grupo-cia").Value = "   1" OrElse gecia.Element("grupo-cia").Value = "  11"
                         Select New cias With {
                             .cia = gecia.Element("cia").Value,
                             .nombre_cia = gecia.Element("nombre-cia").Value,
                             .direc1_cia = gecia.Element("direc1-cia").Value,
                             .grupo_cia = gecia.Element("grupo-cia").Value
                         }
    
            Return gecias.ToList()
        End Function

    En el ActionResult de mi Controllers llamo la función colocando la ruta del archivo XML. (CargarCias("ruta + archivo.xml")) se ejecuta y carga todo bien, pero en el View no me carga el Model.

    Mi pregunta es la siguiente como cargo el resultado de la función en el Model, para que al momento de realizar el "For Each item in Model" y escriba la información, hasta los momentos el Model esta Nothing.

    Gracias de Antemano por la colaboración prestada.


    José Antonio Gómez Linarez Técnico Superior en Informática


    jueves, 14 de agosto de 2014 19:36

Respuestas

  • >>En el ActionResult de mi Controllers llamo la función colocando la ruta del archivo XML.

    diras que lo haces en el Action del controller

    o sea haces

    Public Function nombreAction() As ActionResult

        Dim model As List(Of cias) = CargarCias(...)

        Return View(model)

    End Sub

    o sea asignas como modelo la lista y en la view defines

    @Model List(Of cias)

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 14 de agosto de 2014 20:15

Todas las respuestas

  • >>En el ActionResult de mi Controllers llamo la función colocando la ruta del archivo XML.

    diras que lo haces en el Action del controller

    o sea haces

    Public Function nombreAction() As ActionResult

        Dim model As List(Of cias) = CargarCias(...)

        Return View(model)

    End Sub

    o sea asignas como modelo la lista y en la view defines

    @Model List(Of cias)

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 14 de agosto de 2014 20:15
  • Gracias! ya lo había hecho de una manera similar.

    José Antonio Gómez Linarez Técnico Superior en Informática

    jueves, 14 de agosto de 2014 20:16