问题描述
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,
i wan将它逐个插入我的数据库
我尝试了什么:
any idea how to separate this?my checkbox output = 30100001,30100002,30100004,30100005,
i wan insert it one by one to my database
What I have tried:
string[] data1 = data.Split(',');
for (int i = 0; i < data.Length; i++)
{
ClientScript.RegisterStartupScript(GetType(), "alert", "alert('" + data1 + "');", true);
}
推荐答案
string[] data1 = data.Split(',');
for (int i = 0; i < data1.Length; i++)
{
ClientScript.RegisterStartupScript(GetType(), "alert", "alert('" + data1[i] + "');", true);
}
见 更正 。
你为什么要用这么复杂的方式做事?
1)你有一个数据网格,持有 EmployeeNo
2)你在字符串中连接 EmployeeNo
3)如果 EmployeeNo
4)您启动数据库脚本,每个 EmployeeNo
您可以通过直接构建列表并跳过字符串步骤来合并2和3.
您可以通过不使用列表进一步简化并启动脚本,因为您知道 EmployeeNo
:
See corrections.
Why are you doing things in such a complicated way ?
1) you got a datagrid holding EmployeeNo
2) you concatenate the EmployeeNo
in a string
3) you split the string in a list if EmployeeNo
4) you launch a database script with each EmployeeNo
You can merge 2 and 3 by building the list directly and skipping the string step.
you can simplify further by not using the list either and launch the script as you know the EmployeeNo
:
if (chkRow.Checked)
{
string EmployeeNo = row.Cells[2].Text;
ClientScript.RegisterStartupScript(GetType(), "alert", "alert('" + EmployeeNo + "');", true);
}
这篇关于C#用逗号分割值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!