KyLim0211 Ответов: 1

C# разбиение значений на запятые


protected void btn_submit(object sender, EventArgs e)
    {
        string data = "";
        foreach (GridViewRow row in GrdRole.Rows)
        {
            if (row.RowType == DataControlRowType.DataRow)
            {
                CheckBox chkRow = (row.Cells[0].FindControl("chkCtrl") as CheckBox);
                if (chkRow.Checked)
                {
                    string EmployeeNo = row.Cells[2].Text;
                    data = data + EmployeeNo + ",";


                }
            }
        }
    }


есть идеи, как это разделить?мой вывод флажка = 30100001,30100002,30100004,30100005,
я хочу вставить его один за другим в свою базу данных

Что я уже пробовал:

string[] data1 = data.Split(',');
        for (int i = 0; i < data.Length; i++)
        {
            ClientScript.RegisterStartupScript(GetType(), "alert", "alert('" + data1 + "');", true);
        }

Garth J Lancaster

Я не вижу проблемы с

string[] data1 = данные.Расщеплять(',');

если данные "301000001,301000002", то data1 будет

data1[0] = "301000001"
data1[1] = "301000002"
...

единственная проблема, которую я вижу здесь

for (int i = 0; i < data.Длина; i++)
{
ClientScript.RegisterStartupScript(GetType (), "alert", " alert('" + data1+"');", true);
}

это data1-массив, не так ли ? так что вам не нужно

for (int i = 0; i < data.Длина; i++)
{
ClientScript.RegisterStartupScript(GetType (), "alert", " alert('" + data1[я] + "');", истинный);
}

Beginner Luck

использовать LINQ

1 Ответов

Рейтинг:
4

Patrice T

Я вижу несколько проблем в вашем коде:

string[] data1 = data.Split(',');
for (int i = 0; i < data1.Length; i++)
{
    ClientScript.RegisterStartupScript(GetType(), "alert", "alert('" + data1[i] + "');", true);
}

Видеть исправительные учреждения.

Почему вы делаете все так сложно ?
1) у вас есть DataGrid holding EmployeeNo
2) вы объединяете EmployeeNo в строке
3) Вы разделяете строку в списке, если EmployeeNo
4) вы запускаете скрипт базы данных с каждым EmployeeNo

Вы можете объединить 2 и 3, построив список непосредственно и пропустив шаг строки.
вы можете еще больше упростить процесс, не используя этот список, и запустить скрипт так, как вы его знаете. EmployeeNo:
if (chkRow.Checked)
{
    string EmployeeNo = row.Cells[2].Text;
    ClientScript.RegisterStartupScript(GetType(), "alert", "alert('" + EmployeeNo + "');", true);
}