時には、あなたがページを置くためにオーバー実際のパスに基づいて、異なる制御パラメータの数を生成する必要があるプロジェクトでは、ページを書き換えるためにこの時間は、自分の目標を達成するための方法をレンダリングします。
次のように以下は、実装するための例を提供します。
//書き換え対象のHTMLコードを生成
プライベート文字列createInputItem()
{
もし(セッション[ "カウント"]!= NULL)
{
INT ICOUNT = int.Parse(セッション[ "カウント"]のToString());
StringBuilderのsbHtml =新しいStringBuilderの();
#region入力値
以下のために(;私は= ICOUNT <; I = 1 int型私は++)
{
sbHtml.Append( "<左\ TR = \を整列させます" ">");
sbHtml.Append( "<TDスタイル= \" 幅:150ピクセル "ALIGN = \ "左\ \">");
sbHtml.Append( "シャハト"()+ "SPN F001" をi.ToString +);
sbHtml.Append( "</ TD>");
sbHtml.Append( "<TDスタイル= \" 幅:80px \ "ALIGN = \ "左\">");
sbHtml.Append( "<入力名= \" txtSPNF001_ "+ i.ToString()+ "\" タイプ= \ "テキスト\" スタイル= \ "幅:80px \"/>");
sbHtml.Append( "</ TD>");
sbHtml.Append( "<TDスタイル= \" 幅:30px \ "ALIGN = \ "左\">");
sbHtml.Append( "゜C");
sbHtml.Append( "</ TD>");
sbHtml.Append( "</ TR>");
sbHtml.Append( "<左\ TR = \を整列させます" ">");
sbHtml.Append( "<TDスタイル= \" 幅:150ピクセル "ALIGN = \ "左\ \">");
sbHtml.Append( "シャハト" + i.ToString()+ "T001");
sbHtml.Append( "</ TD>");
sbHtml.Append( "<TDスタイル= \" 幅:80px \ "ALIGN = \ "左\">");
sbHtml.Append( "<入力名= \" txtT001_ "+ i.ToString()+ "\" タイプ= \ "テキスト\" スタイル= \ "幅:80px \"/>");
sbHtml.Append( "</ TD>");
sbHtml.Append( "<TDスタイル= \" 幅:30px \ "ALIGN = \ "左\">");
sbHtml.Append( "゜C");
sbHtml.Append( "</ TD>");
sbHtml.Append( "</ TR>");
sbHtml.Append( "<左\ TR = \を整列させます" ">");
sbHtml.Append( "<TDスタイル= \" 幅:150ピクセル "ALIGN = \ "左\ \">");
sbHtml.Append( "シャハト" + i.ToString()+ "T007、T009")。
sbHtml.Append( "</ TD>");
sbHtml.Append( "<TDスタイル= \" 幅:80px \ "ALIGN = \ "左\">");
sbHtml.Append( "<入力名= \" txtT007_T009_ "+ i.ToString()+ "\" タイプ= \ "テキスト\" スタイル= \ "幅:80px \"/>");
sbHtml.Append( "</ TD>");
sbHtml.Append( "<TDスタイル= \" 幅:30px \ "ALIGN = \ "左\">");
sbHtml.Append( "゜C");
sbHtml.Append( "</ TD>");
sbHtml.Append( "</ TR>");
sbHtml.Append( "<左\ TR = \を整列させます" ">");
sbHtml.Append( "<TDスタイル= \" 幅:150ピクセル "ALIGN = \ "左\ \">");
sbHtml.Append( "シャハト"()+ "VM" をi.ToString +);
sbHtml.Append( "</ TD>");
sbHtml.Append( "<TDスタイル= \" 幅:80px \ "ALIGN = \ "左\">");
sbHtml.Append( "<入力名= \" txtVM_ "+ i.ToString()+ "\" タイプ= \ "テキスト\" スタイル= \ "幅:80px \"/>");
sbHtml.Append( "</ TD>");
sbHtml.Append( "<TDスタイル= \" 幅:30px \ "ALIGN = \ "左\">");
sbHtml.Append( "゜C");
sbHtml.Append( "</ TD>");
sbHtml.Append( "</ TR>");
}
#endregion
sbHtml.ToStringを返します();
}
String.Emptyをを返します。
}
保護されたオーバーライド無効レンダリング(たHtmlTextWriterライター)
{
StringWriter SW =新にStringWriter();
指定されたHtmlTextWriter htmlWriter =新たHtmlTextWriter(SW);
base.Render(htmlWriter)。
ストリングstrTableTR = createInputItem()。
文字列HTML = sw.ToString()。
//はちょうどページにHTMLコードを生成します
INTにstartPoint = html.IndexOf( "</ table>の"、StringComparison.CurrentCultureIgnoreCase)。
(にstartPoint> 0)であれば
{
HTML = html.Insert(にstartPoint、strTableTR)。
}
writer.Write(HTML)。
}
ます。https://www.cnblogs.com/kevinGao/archive/2011/09/26/2192733.htmlで再現