レンダリングページにロードされたHTML asp.netを動的に生成または変更するには

            時には、あなたがページを置くためにオーバー実際のパスに基づいて、異なる制御パラメータの数を生成する必要があるプロジェクトでは、ページを書き換えるためにこの時間は、自分の目標を達成するための方法をレンダリングします。

次のように以下は、実装するための例を提供します。

//書き換え対象の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で再現

おすすめ

転載: blog.csdn.net/weixin_34190136/article/details/93054033
おすすめ