访问我的Class并在表示层上显示输出
本文关键字:显示 输出 表示层 我的 Class 访问 | 更新日期: 2023-09-27 17:53:20
我已经编写了一个类来运行存储过程,启动数据读取器并将内容放入数组列表中。
类代码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;
}
}
在我的代码后面,我试图访问数组列表,以便我可以通过它循环并输出代码到表示层。我对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
如果有人能给我指出正确的方向,那就太好了!
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
如果您无法访问您所拥有的类,您将需要实例化它。例如,
GHPSlider slider = new GHPSlider();
从这里,你可以用
访问属性和方法。slider.getBanners();
你目前使用的代码是相当神秘的,我不确定你用它来做什么,所以它可能是可行的。但是,您可能想要阅读一些关于分层程序的内容,它将帮助您在心理上组织这些内容。我知道你没有真正的数据层,但是阅读数据访问层可能会帮助你理解它背后的架构。
我只能从c#的角度提供帮助,但是你可以把它移植过来。
对于遍历数组的值,这实际上取决于目的。在简单的编码中,假设您有一个包含十个值的数组。通过将它们传递给另一个命令,使用for
循环迭代它们将使您获得每个值。
int[] array = new int[p];
for (int i = 0; i < p; i++)
{
array[i] = i;
Console.WriteLine(array[i]);
}
它的输出是一个0-9的计数。
帮助使用数组!
现在,更具体地说,ArrayList
我知道你正在使用较旧的代码,因此,ArrayList
,但与for
循环的值的迭代可能是你最好的选择。