私はWebフォームアプリケーションで作業していますが、私は2-3の場所で必要ないくつかのHTMLコードを持っています。WebフォームのPartialView
protected override void Render(HtmlTextWriter writer)
{
StringBuilder str = new StringBuilder();
while (connRef.Read())
{
str.Append(connRef["some_database_field"]);
}
writer.Write(str.ToString());
base.Render(writer);
}
connRef私はレンダリングするために、コードのこの部分を必要とする場合、私が通過DataReaderオブジェクトへの参照である:そう繰り返しコードを表すよう
私する.ascxコントロールを作成しました。他の制御で
は、私は次のコードを使用し
MSSqlConn s = new MSSqlConn();
StringBuilder str = new StringBuilder();
s.OpenConn("select * from notes order by note_date desc;");
notes.note c = (notes.note)Page.LoadControl(@"/controls/notes/note.ascx");
c.ID = "note";
c.connRef = s;
while (s.Read())
{
str.Append(Html.RenderControl(c));
}
s.CloseConn();
Response.Write(str.ToString());
をMSSqlConnは、データベース接続のための私のクラスです。
RenderControlは、任意のコントロールをHTML文字列としてレンダリングします。
秒のコードスニペットでは、2つではなく1つのレコードのみが返されます。何らかの理由で、別のコントロール(c.connRef = s)に参照を渡すと、sが閉じます。
多分私は何かを逃している、私は知らない。
私はそれをうまく説明していないと申し訳ありません。
あなたの権利。私は、実際に別のReadの中にReadを置いていたことを忘れていた機能に集中しました。 – lopkiju