duckmike
duckmike

Reputation: 1036

Load javascript and speed issues

I have in my code, and extended version of -

string CurrMonth = "Jan";
int rowId = 1;
string MIMO = "";
double JanMITotal = 0.0;
double JanMOTotal = 0.0;
//continued all the way to December

foreach (DataRow dr in dtMIMODetails.Rows) { //dtDetail has about 50 rows
  HtmlTableRow rowDetails = new HtmlTableRow();
  MIMO = dtMIMODetails["MIMO".ToString();
  {
    CurrMonth = "Jan";
    HtmlTableCell cell = new HtmlTableCell();
    cell.Style.Add(HtmlTextWriterStyle.BackgroundColor, "#FFFF99");
    cell.Style.Add(HtmlTextWriterStyle.TextAlign, "center");

    TextBox tb = new TextBox();
    tb.Style.Add(HtmlTextWriterStyle.BackgroundColor, "#FFFF99");
    tb.Style.Add(HtmlTextWriterStyle.TextAlign, "center");
    tb.Style.Add(HtmlTextWriterStyle.FontSize, "small");
    tb.Style.Add(HtmlTextWriterStyle.Width, "40px");
    tb.Style.Add(HtmlTextWriterStyle.Display, "None");
    tb.ID = "tb" + CurrMonth + "_" + MIMO + "_" + "_" + rowID;
    tb.Text = drMIMODetails[CurrMonth].ToString();

    HtmlAnchor htmlanchor = new HtmlAnchor();
    htmlanchor.ID = "ha" + CurrMonth + "_" + MIMO + "_" + rowID;
    htmlanchor.HRef = "#" + htmlanchor.ID;
    htmlanchor.Title = "Click to change value"; //tooltip
    htmlanchor.InnerText = drMIMODetails[CurrMonth].ToString();
    htmlanchor.Attributes.Add("onclick", "handleTextBox('" + CurrMonth + "', '" + MIMO  + "', '" + rowID + "', 'Show')");

    tb.Attributes.Add("onkeyup", "updateMIMOTotals('" + CurrMonth + "', '" + MIMO  + "', '" +  recordID + "','" + rowID + "')");
    tb.Attributes.Add("onblur", "handleTextBox('" + CurrMonth + "', '" + MIMO  + "', '" + rowID + "', 'Hide')");

    FilteredTextBoxExtender ftbe = new FilteredTextBoxExtender();
    ftbe.ID = "ftbe" + CurrMonth + "_" + MIMO + "_" + rowID;
    ftbe.TargetControlID = tb.ID;
    ftbe.FilterType = FilterTypes.Custom | FilterTypes.Numbers;
    ftbe.ValidChars = ".";

    cell.Controls.Add(tb);
    cell.Controls.Add(ftbe);
    cell.Controls.Add(htmlanchor);
    rowDetails.Cells.Add(cell);

    if (MIMO == MOVEINS) {
        JanMITotal = JanMITotal + Convert.ToDouble(drMIMODetails[CurrMonth]);
    }
    else if (MIMO == MOVEOUTS) {
        JanMOTotal = JanMOTotal + Convert.ToDouble(drMIMODetails[CurrMonth]);
    }
  }

  rowId++;
}

which is repeated for 12 months.

There are other values on this form, that when changed causes this loop to be run again, which is fine. I need to reload the values with the result that the other value change causes.

But after making that other change and reloading the page about 4-5 times, I get the dreaded "Stop running script?" error.

Is there a better way? I do have a javascript file that I use and am slightly familiar with jQuery.

Upvotes: 1

Views: 125

Answers (2)

Paolo del Mundo
Paolo del Mundo

Reputation: 2121

It's happening on one of the events you associated with the cell: onkeyup, onblur or onclick.

Upvotes: 1

Gaute Løken
Gaute Løken

Reputation: 7912

Stop running script indicates an infinite loop I suspect. If you want help with this, you should post the client side code (javascript) you're running.

Upvotes: 1

Related Questions