Stack Overflow en español Asked on December 18, 2021
Estoy con mvc c#
tratando de validar. El problema está en que si ingreso un número que no exista en la bd
me sale el error de que está fuera del índice de intervalo. Así lo estoy validando:
if (persona[0]?.titulo == null || persona[0].titulo == 0
|| persona330[0]?.titulo == null || persona330[0].titulo == 0
|| persona.Count <=0)//aquí es donde sale el error de índice
{
ViewBag.Alert = "Lo sentimos, el título ingresado no existe.";
return View("Index");
}
Resto del código:
public ActionResult Pdf(double? titulo)
{
try
{
ConexionSql sql = new ConexionSql();
ConexionSQL330 sql330 = new ConexionSQL330();
var persona = sql.cargarDatosPDF(titulo);
var persona330 = sql330.cargarDatosPDF(titulo);
//inline para verlo online, attachment para descarga directa
if (titulo > persona[0]?.titulo || persona[0]?.titulo == null || persona[0].titulo == 0
|| titulo > persona[0]?.titulo || persona330[0]?.titulo == null || persona330[0].titulo == 0
|| persona.Count <=0)
{
ViewBag.Alert = "Lo sentimos, el título ingresado no existe.";
return View("Index");
}
Response.AppendHeader("Content-Disposition", "inline; filename="" + titulo + "-" + persona[0].cantCuotas + ".pdf"");
//resto código
}
catch (SqlException ex)
{
return Content("Error: " + ex.Message);
}
}
¿Alguna idea de por qué no funciona? -o, ¿A dónde le estoy errando?
La construcción de tu condición asume que persona
tiene al menos un elemento y el mensaje de error te indica que está vacío.
Mi sugerencia es validarlo de la siguiente manera:
if( persona == null || persona.count == 0 )
{
// coloca aquí las instrucciones de lo que ocurre cuando persona es nulo o vacío
}
else
{
if (titulo > persona[0]?.titulo || persona[0]?.titulo == null || persona[0].titulo == 0
|| titulo > persona[0]?.titulo || persona330[0]?.titulo == null
|| persona330[0].titulo == 0)
{
ViewBag.Alert = "Lo sentimos, el título ingresado no existe.";
return View("Index");
}
}
Answered by Pablo Gutiérrez on December 18, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP