1

我的代码中有 -

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 有点熟悉。

4

2 回答 2

1

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

于 2012-07-25T17:03:22.910 回答
1

它发生在您与单元格关联的事件之一上:onkeyup、onblur 或 onclick。

于 2012-07-25T17:58:43.923 回答