私は自分のコードと拡張バージョンを持っています -
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 に少し慣れています。