在我的视图中显示结果从我的Foreach在我的代码后面

本文关键字:我的 代码 Foreach 结果 视图 显示 | 更新日期: 2023-09-27 18:19:23

我正在使用一个存储过程来获取我的'地方'列的所有条目,我想在我的网站上显示<ul>的结果,但我正在挣扎。

我已经得到了Foreach工作,它返回我所有的条目,但当我尝试显示我的结果时,它只显示我的最后一个。

我从来没有写过Foreach来显示我的结果。

代码后面

namespace PaydayLunchGenerator
{
    public partial class _Default : Page
    {        
        public string PlaceABC;
        protected void Page_Load(object sender, EventArgs e)
        {
            string connection = ConfigurationManager.ConnectionStrings["PaydayLunchConnectionString1"].ConnectionString;
            SqlConnection conn = new SqlConnection(connection);
            using (SqlCommand cmd = new SqlCommand("dbo.GetPlaces", conn))
            {
                try
                {
                    conn.Open();
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        PlaceABC = reader.GetValue(1).ToString();
                    }
                    reader.Close();
                }
                finally
                {
                    conn.Close();
                }
            }
        }
    }
}

Code i try in my view

<% foreach (var ABC in PlaceABC)
{ %>
     <li><%= PlaceABC %></li>
<%} %>

我会诚实,我不知道如何写它,所以我在我的观点的foreach猜测。所有的数据都是由我的代码提供的。

在我的视图中显示结果从我的Foreach在我的代码后面

确保你的PlaceABC是一个列表而不是字符串,所以修改这个:

public string PlaceABC to public List<string> PlaceABC = new List<string>();

然后改变

while (reader.Read())
      {
          PlaceABC = reader.GetValue(1).ToString();
      }

:

   while (reader.Read())
      {
          PlaceABC.Add(reader.GetValue(1).ToString());             
      }

和在你看来:

<% foreach (var ABC in PlaceABC)
{ %>
     <li><%= PlaceABC %></li>
<%} %>
应该

<% foreach (var ABC in PlaceABC)
{ %>
     <li><%= ABC %></li>
<%} %>