Estoy tratando de cargar diferentes vistas parciales según el valor dentro de la bolsa de vista y para eso probé el siguiente método de JavaScript:
function CheckAction() { var cat = document.getElementById('CType').value; var op = document.getElementById('OType').value; if (op == "Add") { if (cat == "State") { @ViewBag.PartialView="_StatePartial"; } } }aquí está el enlace a la vista (archivo cshtml): https://pastebin.com/XZPJBwp4
He depurado el código y descubrí que el código js funciona correctamente y viewbag también obtiene los datos, pero el único problema es que la vista parcial no se está cargando. De forma predeterminada, se carga la vista parcial predeterminada, pero una vez que se hace clic en el botón, se debe cambiar la vista parcial que no está sucediendo. consulte este archivo de vista ( https://pastebin.com/XZPJBwp4 ) para obtener una mejor comprensión.
Aquí está el código del lado del servidor desde donde la vista parcial obtiene valor (Método del controlador)
[HttpGet] public IActionResult DataMgmt() { ViewBag.PartialView = "_DefaultDataMgmt"; return View(); }Mi sugerencia es que: El "ViewBag" se procesa al mismo tiempo que la página, por lo que no puede usar esto para cargar la Vista parcial, le sugiero que use Ajax para lograr esta función.
Eliminar y enviar Ajax en JavaScript:
Recibir el Ajax y devolver la Vista parcial
(Vista parcial)
Entonces puedes cargar la Vista parcial