Я пробовал искать другие ответы, но безуспешно. Я написал al oop, который проходит через серию из 6 текстовых полей с именами txtserial1, txtserial2, txtserial3, et c. Я хотел получить значения каждого текстового поля и добавить в DataTable, который затем можно было бы перебрать, чтобы добавить каждое значение в базу данных. Вот код, который у меня есть сейчас, я пробовал много вариантов, но ничего не помогло. Как я могу пропустить oop через поля и получить каждое значение в DataTable? Кроме того, не все 6 блоков будут заполняться каждый раз, иногда только 1, иногда все 6. Спасибо !!! :)
Таблица, содержащая текстовые поля:
<table style="width: 718px;">
<tr>
<td style="width: 221px;">
<asp:Label ID="lblserial1" runat="server" Text="Serial One:"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtSerial1" runat="server" Width="230px" Height="22px"></asp:TextBox>
</td>
<td style="width: 221px;">
<asp:Label ID="lblserial4" runat="server" Text="Serial Four:"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtSerial4" runat="server" Width="230px" Height="22px"></asp:TextBox>
</td>
</tr>
<tr>
<td style="width: 221px;">
<asp:Label ID="lblserial2" runat="server" Text="Serial Two:"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtSerial2" runat="server" Width="230px" Height="22px"></asp:TextBox>
</td>
<td style="width: 221px;">
<asp:Label ID="lblserial5" runat="server" Text="Serial Five:"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtSerial5" runat="server" Width="230px" Height="22px"></asp:TextBox>
</td>
</tr>
<tr>
<td style="width: 221px;">
<asp:Label ID="lblserial3" runat="server" Text="Serial Three:"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtSerial3" runat="server" Width="230px" Height="22px"></asp:TextBox>
</td>
<td style="width: 221px;">
<asp:Label ID="lblserial6" runat="server" Text="Serial Six:"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtSerial6" runat="server" Width="230px" Height="22px"></asp:TextBox>
</td>
</tr>
</table>
Код позади:
public void LogHB()
{
DataTable dt = new DataTable("HBserials");
dt.Columns.Add("hbserial");
int j = Convert.ToInt32(ddlNumofhb.Text);
for (int i = 1; i < (j + 1); i++)
{
string textbox = FindControl("txtserial" + i + ".Text").ToString();
dt.Rows.Add(textbox);
}
foreach (DataRow row in dt.Rows)
{
string hbserial = row["hbserial"].ToString();
try
{
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["HMT2DBCS"].ConnectionString);
using (SqlCommand command = new SqlCommand("spHBcheckin", connection))
{
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddWithValue("@order_id", txtorder_id.Text);
command.Parameters.AddWithValue("@hbserial", hbserial);
command.Connection.Open();
command.ExecuteNonQuery();
connection.Close();
}
}
}
}