Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

370
Visualizações
devolver Vistas por el método PartialView

Quiero usar ajax para evitar actualizar mis páginas y para esto quiero devolver Vistas por el método PartialView del controlador en la llamada ajax.

la pregunta es:

  1. ¿Es una buena manera de devolver una View como Vista PartialView ?
  2. ¿Cómo debo configurar la ruta de las vistas en el método PartialView en Controller ?

Por ejemplo, para la vista _Index en Views/BasicInfo/_Index path, intento PartialView("~/Views/BasicInfo/_Index"); , PartialView("~/Views/BasicInfo/_Index.chtml"); , PartialView("BasicInfo/_Index"); , y obtiene el error de no encontrar la vista

EDITAR

Cómo se especificó el nombre de la vista en el método PartialView, si la vista está en una carpeta fuera de la carpeta compartida y fuera de la carpeta de vista relacionada. Por ejemplo, Mi controlador se llama controlador1 y mi Vista está en esta ruta Views/BasicInfo/_Index ?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

deberías tener esto

  • micontrolador

    • Resultado de la acción -> Índice
    • Resultado de la acción -> Índice parcial
  • Puntos de vista

    • Mi
      • Index.cshtml (Ver)
      • IndexPartial.cshtml (Vista parcial)

Donde:

Index.cshtml como vista completa habrá representado la vista parcial con el modelo pasado (¿por qué? Para evitar la duplicación de código)

 @model YourModelType @{ ViewBag.Title = "View Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } @Html.Partial("IndexPartial", Model)

IndexPartial.cshtml es la vista parcial, algo así como

 @model YourModelType <h2>Some Title</h2> <div> <h4>YourModel</h4> <hr /> <dl class="dl-horizontal"> <dt> @Html.DisplayNameFor(model => model.Property1) </dt> <dd> @Html.DisplayFor(model => model.Property1) </dd> <dt> @Html.DisplayNameFor(model => model.Property2) </dt> <dd> @Html.DisplayFor(model => model.Property2) </dd> </dl>

Ahora, cuando desee la vista completa, use MyController/Index y cuando desee la vista parcial, puede obtenerla con MyController/IndexPartial.

O puede usar el parámetro en su acción para especificar la salida:

 public ActionResult GetMyView(bool? partial) { var model = something; if (partial != null && partial) { return PartialView("MyViewPartial", model) } return View("MyView", model); }

llamar a parcial = yourHost/controller/GetMyView?partial=true

Ahora volviendo a su pregunta, sí, puede devolver la Vista parcial como Vista y viceversa. Pero enfrentará problemas al agregar html a las páginas a través de ajax (html incompleto o sobrecargado).

over 4 years ago · Santiago Trujillo Relatório

0

puedes usar :

 public PartialViewResult ActionMethodName() { return PartialView("_Index.chtml"); }

O

 public ActionResult ActionMethodName() { return PartialView("_Index.chtml"); }
over 4 years ago · Santiago Trujillo Relatório

0

  1. No hay limitación y no se considera mala práctica.

  2. Tiene un error tipográfico en la PartialView("~/Views/BasicInfo/_Index.chtml") de su pregunta.

    Debe escribir return PartialView("~/Views/BasicInfo/_Index.cshtml")

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda