Estimados tengo una duda con un código que ejecuto en mi página web, pasa que me da el error de "referencia a objeto no establecida como instancia de un objeto", pasa que me da ese problema en mi página y de inmediato al cabo de unos 2 segundos se arregla y sigue funcionando normal. La verdad no he podido pillar mi error.
Adjunto el código indicando el error para ver si alguien me puede ayudar...
public class cargaDistribucionAnioAnterior : IHttpHandler, IRequiresSessionState {
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
StringBuilder html_box = new StringBuilder();
DateTime fecha = DateTime.Now;
int ano = fecha.Year;
if (context.Request.Form["itpres_ncorr"].ToString() != "" && context.Request.Form["cupres_ncorr"].ToString() != "" && context.Request.Form["montoAnual"].ToString() != "")
{
int itpres_ncorr = int.Parse(context.Request.Form["itpres_ncorr"].ToString());
int cupres_ncorr = int.Parse(context.Request.Form["cupres_ncorr"].ToString());
int montoAnual = int.Parse(context.Request.Form["montoAnual"].ToString());
DataTable montoAnoAnterior = DistribucionPresup.distMontosPresupAnioAnterior(it pres_ncorr, cupres_ncorr, montoAnual,ano); // Acá me marca el error
html_box.Append("<table class=\"texto_general\" border=\"0\" style=\"font-size: 11px;\">");
if (montoAnoAnterior.Rows.Count > 0)
{
int mes = 0;
int monto = 0;
int count = 1;
for (int i = 1; i <= 11; i++)
{
count++;
mes = int.Parse(montoAnoAnterior.Rows[i]["MES"].ToString());
monto = int.Parse(montoAnoAnterior.Rows[i]["MONTO_REAJUSTADO"].ToString());
if (count % 2 == 0)
{
html_box.Append("<tr>");
html_box.Append("<td><span class=\"texto_box\">" + Utilidades.TransformaMes(mes) + "</span></td>");
html_box.Append("<td><input size=\"8\" type=\"text\" ID=\"Mes_" + i + "\" runat=\"server\" name=\"Mes_" + i + "\" value=\"" + monto + "\" CssClass=\"txt_fechas\" onChange=\"sumarMeses(); return false;\" onClick=\"limpiaTexbox(" + i + "); return false; \" onkeyPress=\"return compruebaNum(event);\"/></td>");
html_box.Append("<td Width=\"10\"></td>");
}
else
{
html_box.Append("<td><span class=\"texto_box\">" + Utilidades.TransformaMes(mes) + "</span></td>");
html_box.Append("<td><input size=\"8\" type=\"text\" ID=\"Mes_" + i + "\" runat=\"server\" name=\"Mes_" + i + "\" value=\"" + monto + "\" CssClass=\"txt_fechas\" onChange=\"sumarMeses(); return false;\" onClick=\"limpiaTexbox(" + i + "); return false; \" onkeyPress=\"return compruebaNum(event);\"/></td>");
html_box.Append("<td Width=\"10\"></td>");
html_box.Append("</tr>");
}
}
mes = int.Parse(montoAnoAnterior.Rows[0]["MES"].ToString());
monto = int.Parse(montoAnoAnterior.Rows[0]["MONTO_REAJUSTADO"].ToString());
html_box.Append("<td><span class=\"texto_box\">" + Utilidades.TransformaMes(mes) + "</span></td>");
html_box.Append("<td><input size=\"8\" type=\"text\" ID=\"Mes_" + mes + "\" runat=\"server\" name=\"Mes_0\" value=\"" + monto + "\" CssClass=\"txt_fechas\" onChange=\"sumarMeses(); return false;\" onClick=\"limpiaTexbox(0); return false; \" onkeyPress=\"return compruebaNum(event);\"/></td>");
html_box.Append("<td Width=\"10\"></td>");
}
else {
html_box.Append("<script type=\"text/javascript\" language=\"javascript\"> alert(\" No se encontró una propuesta para ésta cuenta... \"); </script>");
int count = 1;
for (int i = 1; i <= 11; i++)
{
count++;
if(count % 2 == 0){
html_box.Append("<tr>");
html_box.Append("<td><span class=\"texto_box\">" + Utilidades.TransformaMes(i) + "</span></td>");
html_box.Append("<td><input size=\"8\" type=\"text\" ID=\"Mes_" + i + "\" runat=\"server\" name=\"Mes_" + i + "\" value=\"0\" CssClass=\"txt_fechas\" onChange=\"sumarMeses(); return false;\" onClick=\"limpiaTexbox(" + i + "); return false;\" onkeyPress=\"return compruebaNum(event);\"/></td>");
html_box.Append("<td Width=\"10\"></td>");
}else{
html_box.Append("<td><span class=\"texto_box\">" + Utilidades.TransformaMes(i) + "</span></td>");
html_box.Append("<td><input size=\"8\" type=\"text\" ID=\"Mes_" + i + "\" runat=\"server\" name=\"Mes_" + i + "\" value=\"0\" CssClass=\"txt_fechas\" onChange=\"sumarMeses(); return false;\" onClick=\"limpiaTexbox(" + i + "); return false;\" onkeyPress=\"return compruebaNum(event);\"/></td>");
html_box.Append("<td Width=\"10\"></td>");
html_box.Append("</tr>");
}
}
html_box.Append("<td><span class=\"texto_box\">Diciembre</span></td>");
html_box.Append("<td><input size=\"8\" type=\"text\" ID=\"Mes_0\" runat=\"server\" name=\"Mes_0\" value=\"0\" CssClass=\"txt_fechas\" onChange=\"sumarMeses(); return false;\"; onClick=\"limpiaTexbox(0); return false;\" onkeyPress=\"return compruebaNum(event);\"/></td>");
html_box.Append("<td Width=\"10\"></td>");
}
html_box.Append("</table>");
}
context.Response.Write(html_box.ToString());
}
Espero puedan ayudarme, saludos cordiales...