ストアド プロシージャを実行し、datareader を開始し、内容を arraylist に入れるために作成したクラスがあります。
クラスコード
public class GHPSlider
{
private clsDbAccess _db;
private clsDbAccess _tmpDb;
public ArrayList getBanners(int thisBannerType)
{
ArrayList HeroBanners = new ArrayList();
SqlDataReader _dr = null;
SqlCommand cmd = _db.Command;
if (_db.Connection.State == ConnectionState.Closed)
{
_db.Connection.Open();
}
cmd = _db.Command;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "GetGHPSlides";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@ID", thisBannerType);
_dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
if (_dr.HasRows)
{
while (_dr.Read())
{
object[] values = new object[_dr.FieldCount];
_dr.GetValues(values);
HeroBanners.Add(values);
}
}
_dr.Close();
return HeroBanners;
}
}
コード ビハインドでは、ArrayList にアクセスして、ループしてコードをプレゼンテーション レイヤーに出力しようとしています。私はプログラミングのn層の方法にかなり慣れていないので、正しい方向に導くためにいくつかの助けを借りることができます.
分離コード
Public Function GetHeros() As String
Dim thisTestSubject As ArrayList = New GHPSlider.getBanners(1)
'Loop through thisTestSubject ArrayList and place into HTML string to pass to literal or label
thisBannerSlideBuilderHTML = "<div style='z-index:0;background-color:#FFF;'><a href='" + thisBannerSlideURL.ToString() + "' onclick='RecordBannerClick(this, 'Hero', 'GHP', '" + thisBannerSlideTitle.ToString() + "');'><img alt='" + thisBannerSlideTitle.ToString() + "' src='" + thisBannerSlideImagePath.ToString() + "' /></a></div>";
'Place Inside Literal or Label to display to presentation layer
End Function
誰かが私を正しい方向に向けるのを手伝ってくれたら、それは素晴らしいことです! 前もって感謝します。