加载JavaScript和速度问题

时间:2012-07-25 16:59:32

标签: c# javascript jquery

我的代码和 -

的扩展版本
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++;
}

重复12个月。

此表单上还有其他值,当更改时会导致此循环再次运行,这很好。我需要使用其他值更改导致的结果重新加载值。

但是在进行了其他更改并重新加载页面大约4-5次之后,我得到了可怕的“停止运行脚本?”错误。

有更好的方法吗?我有一个我使用的javascript文件,我对jQuery略显熟悉。

2 个答案:

答案 0 :(得分:1)

停止运行脚本表示我怀疑无限循环。如果您需要这方面的帮助,您应该发布您正在运行的客户端代码(javascript)。

答案 1 :(得分:1)

发生在与细胞相关的一个事件上:onkeyup,onblur或onclick。