none
Actualizar solo una parte de la vista con AJAX desde Controller en MVC 4 RRS feed

  • Pregunta

  • Buenas compañeros, desearía si me pueden ayudar con un problema, tengo una vista de la cual solo quiero actualizar un div pero esto lo quiero hacer después de haber realizado una acción desde un controlador de mvc, es decir, no actualizar la pagina completa solamente un div, cabe señalar que esta acción la mando llamar desde un modal que se abre en la misma vista de la cual quiero hacer la actualización, espero que haya alguna forma y que me puedan ayudar a resolverla, se los agradecería enormemente.
    miércoles, 14 de mayo de 2014 19:03

Todas las respuestas

  • hola

    podrias hacerlo por medio de $.ajax de jquery

    recomedaria este video

    JavaScript y Ajax

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 14 de mayo de 2014 21:00
  • La verdad es que hace tiempo que no me paso, pero cada vez que me dejo caer amigo "Leandro" veo más despropositos y al final esto es lo que hace que el desconocimiento de  muchos haga de la web ese jardín con flores que rebrotan como las malas hiervas y sin fertilizante que las cure para usuarios malintencionados.

    Si tu en MVC para hacer esto lo resuelves con un video de 4 minutos que no digo que este mal, pero si incomplemto, te invito a ti mismo a que leas estos post.

    http://geeks.ms/blogs/phurtado/archive/2014/05/15/el-desprop-243-sito-ii-parte.aspx

    http://geeks.ms/blogs/etomas/archive/2014/05/14/sobre-webapi-cookies-y-csrf.aspx

    http://geeks.ms/blogs/phurtado/archive/2014/05/13/una-evidencia-una-fricada-y-un-desprop-243-sito.aspx

    Pero Leandro en el orden que te los pongo, si de verdad te queda claro, después pasalos y te prometo que te llevas la respuesta:)  pero ese video después de ver a "modernizer" haciendo aguas, como que no es lo más apropiado.

    Sabes que te tengo un gran aprecio, pero hay cosas que de verdad no puedo permitir y esta es una, quieres ser el rey de los foros, pues te apoyo puesto que ya lo eres, pero vamos a dar la calidad que se merece este sitio.

    Te agradezco que en su momento me propusieses como Moderador del foro de c# y alguna que otra cosa más:) , pero a fecha de hoy y por n circustancias no me veo en ese camino sino más bien ubicado en este foro, así que es como un imposible que de nuevo me nombren Moderador, puesto que sabes que no voy a taparme la boca ante ningún desproposito y este es uno.

    Transmitir ignorancia en busca de puntos, hace que seas el ignorante mayor.

    Si piensas que alguna vez me molesto que alguien te votase una pregunta inadecuada, creo que te equivocas pero tengo que decirte que he visto muchas inadecuadas en los foros.

    Yo ahora te pregunto.

    -¿Los puntos son un fin?

    -¿Crees que esta es una respuesta adecuada?

    -¿Lo aplicarías en un desarrollo serio?

    Te invito a que te respondas tu después de ver tu respuesta y leer lo que te he pasado:)

    Ojo: Si te enfadas creo que no estás haciendo ningún bien a la comunidad.


    phurtado
    Mi Blog Blog
    Sigueme en Twitter

    jueves, 15 de mayo de 2014 13:52
  • hola

    empiezo comentandote que ya no soy moderador de ninguno de estos foros, los mvp de españa se encargaron de eso

    despues te invito a reflexionar, has evaluado el nivel de conocimientos de Jesus? digo he visto los links que proporcionas y veo que son de muy alto nivel, yo los entiendo pero Jesus los entiende ? recuerda en el foro debes primero medir que nivel de respuesta puedes dar en base a quien esta preguntando

    si yo hubiera preguntado puedes pasarme articulos como los que planteas porque en mayor o men0r medida puedo seguirte, pero no todos pueden hacerlo, lo importante es que quien pregunta pueda entenderte, sino no lo ayudas

    alli en los link veo temas de web api, csrf, etc y me pregunto eso tiene que ver con la pregunta que Jesus realiza ?

    por otro lado te comento que en el material proporcionado por pluralsight yo personalmente confio, sino puedo fundamentar en base al material que ellos proporcionan porque es es malo o incorrecto entonces en que se puede confiar

    ¿Los puntos son un fin?

    los puntos no son nada, cree que si quitaran los puntos yo dejaria de ayudar, yo empece en los foros cuando los puntos no existian, o creo que estaban cmo en una primer fase pero casi ni contaban, es mas recuerdo que habia unas medallitas te que ponian

    despues implementaron fuerte los temas de puntos y logros, si vienen bien, sino es igual, me sirve ayudar y que eso llegue a solucionar el problema planteado, pero las respuestas deben ser a nivel de quien pregunta y no matarlo con un nivel de respuesta que no se puede seguir

    >>¿Crees que esta es una respuesta adecuada?

    la respuesta adecuada es la que quien pregunta considera que le resolvio el problema, si lo que yo plenteo no le sirve me lo dejara saber y seguiremos analizando hasta solucionarlo (o en su defecto que abandone la pregunta)

    por supuesto si la persona que pregunto no conoces jquery trato de proporcionarle la tecnica que plantea asp.net mvc con los ajax forms

    no puedo tirarle, mira usar Angular con web api, porque es logico que lo mato con esa respuesta, si puedo sugerirsela como segunda instancia

    >>¿Lo aplicarías en un desarrollo serio?

    depende el desarollo

    te pongo un ejemplo claro, en una pregunta de no hace mucho etomas me planteo que usara en el controller las clasaes de dominio que define EF, eso te parece correcto, y no modelar al menos en capas para separar el dominio de las view ? te dejo el link para que lo analisis

    Aplicacion MVC - CodeFirst

    te pregunto, a etomas no le harias el mismo planteo que me haces tu aqui ahora ? yo respondi con una idea compleja pero implementando capas y pensando en aplicaciones testeables, en cambio etomas va a lo simple poniendo EF directo en el controlador, cual es la correcta ?

    las soluciones son varias y cada una tiene su nivel de complejidad, quizas para el nivel de busca Jesus lo que planteo le alcanza al menos para iniciar y despues que comprede la base puede escalar a implementaciones mas complejas

    >>Ojo: Si te enfadas creo que no estás haciendo ningún bien a la comunidad.

    no hay porque efadarse, es mas si quieres realizar este tipo de debates mas seguir con gusto, mientras este en un marco de respeto y enfocado en dar una buena solucion es bienvenida

    no se porque piensan que cualquier critica tiene que enfadar a uno, los foros son amplios y hay respuesta para todos los niveles

    yo particularmente trato de responder lo mas simple que puedo (no entiendo porque esto molesta), pero si quieres complementar mis respuestas con una respuesta mas compleja que lleve a quien pregunta a un nivel de conocimiento mayor es bienvenida, es mas seguro hasta a mi tambien me ayuda

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 15 de mayo de 2014 14:52
  • Buenas!

    No voy a meterme en la discusión que tienes con Pedro, porque ni me va ni me viene, y  tampoco he visto el vídeo, así que no puedo opinar :)

    Eso sí.. voy a responder por alusiones:

    >en una pregunta de no hace mucho etomas me planteo que usara en el controller las clasaes de dominio que define EF, eso te parece correcto, y no modelar al menos en capas para separar el dominio de las view?

    Yo básicamente dije de no usar el patrón repositorio en EF. De ahí tu deduciste que yo abogaba por usar el LINQ y la lógica de negocio en los controladores. Yo jamás dije eso. Revisa las respuestas y me dices donde lo digo :)

    Dije y lo vuelvo a decir: implementar el patrón repositorio en EF no es muy biena idea... porque EF es un repositorio. La arquitectura que mostraste como solución rompe unit of work y es muy fácil caer en sentencias SELECT N+1 (sabes lo que son no? http://stackoverflow.com/questions/97197/what-is-the-n1-selects-issue)  usando dicha arquitectura. En mi respuesta di varias de las alternativas: desde el uso de Daos (la más simple) hacia una arquitectura CQS completa. Puse algunos enlaces (que no se si te has molestado en mirar) de gente que da ejemplos de dichas arquitecturas y de por qué deben aplicarse en1 EF (o NHibernate).

    >yo respondi con una idea compleja pero implementando capas y pensando en aplicaciones testeables, en cambio etomas va a lo simple poniendo EF directo en el controlador, cual es la correcta ?

    No. Tu respondiste con capas y repositorios. Yo respondí con query objects, comandos, especificaciones y CQS. Si de mi respuesta Leandro interpretaste que yo decía de poner EF directamente en el controlador, o bien no te la leíste o bien no entendiste nada de nada. Te invito a releer mi respuesta en todo caso, y si quieres, a debatir sobre ella ;)

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis

    jueves, 15 de mayo de 2014 16:09
  • hola Eduard

    te pido disculpas si se mal intepreto el planteo que queria realizar

    se habia entendido bien que la solucion que recomendaste en esa pregunta incluye query objects, comandos, especificaciones y CQS, pero si analizamos las respuestas desde el principio esa no fue la primer propuesta que realizaste

    la idea era analiza la primer respuesta que realizo cada uno, por mi parte esta claro que el link que porporcione aconsejaba usar Repository, UoW, IoC, etc lo cual esta claro es complejo, pero tu primer respuesta incluyo el link

    http://www.asp.net/mvc/overview/models-(data)

    no veo en los temas planteados en esos articulos que se mencione nada de query objects, comandos, especificaciones y CQS

    es alli donde hago foco, esta claro que mi primer respuesta era una solucion compleja pero tu primer respuesta era el otro extremos el de usar las entidades de EF en el controlador, o eso al menos refleja el primer link que proporcionaste

    despues con un debate interesante se amplio el tema y ahi si llegamos a lo de query objects, comandos, especificaciones y CQS

    esta claro que en esa pregunta mi respuesta era algo complejo y la tuya algo simple (al menos tu primer respuesta, tomenos solo las primer respuesta de cada uno)

    ahora Pedro me plantea lo contrario, ante esta pregunta yo respondo algo simple cuando deberia haber planteado algo complejo, el tema es ese hay una respuesta perfecta, para mi no existe

    hay respuestas, pueden ser mas o menos acertadas, mas o menos perfectas, pero mientras ayude creo que cuenta como valida, despues segun la situacion del proyecto y conocimiento de quien pregunta se podria decir si se implementaria o no, pero eso queda a criterio de cada uno, uno trata de brindar lo mejor con lo que conoce

    tu claramente en esa pregunta dices: "No es, para nada, el ejemplo que yo pondría a alguien que empieza con esto", bueno para esta pregunta en concreto claramente no puedo indicar a alguien que inicia que use knockout, angular, web api  y demas tecnologias porque se que no va a poder implementarlas, no al menos en un comienzo

    esta claro que ustedes estan muy por encima de mi conocimiento, si querian reflejar eso es cierto, pero tampoco es para basurear el aporte que uno puede brindar, aunque este no sea perfecto, hay a quienes les puede ser util, a quienes no bueno espero de ustedes me puedan dar su soporte

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 15 de mayo de 2014 17:05
  • Buenas Leandro.

    Disculpas aceptadas. Acepta tu las mías si te has sentido ofendido. Aunque mi respuesta no era en ningún momento una crítica a la tuya. Yo solo he entrado por alusiones... quiero decir que quería puntualizar que decir "no a los repositorios" no implica decir sí "a meter el linq a saco en los controladores"... Nada más. :)

    Sobre el resto no opino... Y de hecho considero tus aportaciones al foro bastante importantes. Al menos bastante más importantes que las mías que, aunque intento pasarme una vez al día, poco tiempo tengo para responder.

    Todos sumamos lo que podemos.

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis

    jueves, 15 de mayo de 2014 20:31