我想通過一個PHP項目到ASP.NET,我正在做一些測試。回到懷疑,我有這樣的代碼來完成:C#如何使一個foreach循環不重寫字符串變量
using System;
using System.Configuration;
using System.Data;
using MySql.Data.MySqlClient;
namespace project_t
{
public partial class _Default : System.Web.UI.Page
{
public string level_text;
public void Page_Load(object sender, EventArgs e) => people_box_repeater_method();
public void people_box_repeater_method()
{
using (MySqlConnection mysql_connection = new MySqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString))
{
MySqlDataAdapter mysql_data_adapter = new MySqlDataAdapter("SELECT * FROM employees", mysql_connection);
DataTable data_table = new DataTable();
mysql_data_adapter.Fill(data_table);
DataView data_view = new DataView(data_table);
data_view.Sort = "name";
data_view.Sort = "function";
data_view.Sort = "sector";
data_view.Sort = "location";
data_view.Sort = "mail";
data_view.Sort = "phone";
data_view.Sort = "photo";
people_box_repeater.DataSource = data_view;
people_box_repeater.DataBind();
string vartest = "4";
foreach (DataRow data_row in data_table.Rows) {
if ((string)data_row["level"] == vartest) { level_text = (string)data_row["level"]; System.Diagnostics.Debug.WriteLine(data_row["level"]); }
}
}
}
}
}
我的問題是這部分:
string vartest = "4";
foreach (DataRow data_row in data_table.Rows) {
if ((string)data_row["level"] == vartest) { level_text = (string)data_row["level"]; System.Diagnostics.Debug.WriteLine(data_row["level"]); }
}
我把兩個數據輸出,一個在.aspx頁面,我的HTML代碼<% = level_text%>
和另一個在輸出控制檯上。
在我的數據庫中,我有四行「level」列中的值爲「4」。 At the console output, it returns me four rows corresponding to the database.
Now in the .aspx page the number "4" appears once.我希望出現四次數字「4」就像在控制檯輸出。我究竟做錯了什麼?
你想用7個連續的調用來排序相同的DataView? – Steve
在*創建'DataView'並將'DataView'指定爲'DataSource'之前執行'DataTable'操縱*。換句話說,在'mysql_data_adapter.Fill(data_table);' – Nino
之後移動你的3個「有問題」的行,它是正確的。你正在用值「4」替換變量的值,所以最後你在那個變量中有「4」。如果要連接使用label_text + = value的輸出。 – Steve