.Net如何遍历gridview中的复选框并获取选中的行的第一列的值添加入数据库?以下是前台,请问后台怎么写?

<asp:TemplateField><ItemTemplate><asp:CheckBoxID="check"runat="server"/></ItemTemplat... <asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="check" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="课程号" ItemStyle-Width="200px" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Id") %>'></asp:Label>
</ItemTemplate>
<asp:Button CommandName="Select" runat="server" Text="提交" Height="30px" Width="70px" OnClick="Unnamed_Click" />
展开
 我来答
飞越空间精彩无限
2016-10-15
知道答主
回答量:15
采纳率:0%
帮助的人:2.2万
展开全部
页面代码 :
<asp:GridView ID="dgvUser" runat="server" Width="254px"
AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="编号">
<ItemTemplate>
<asp:Label ID="lblId" Text='<%#Eval("id") %>' runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="CourseName" HeaderText="课程名称" />
<asp:TemplateField HeaderText="选择">
<ItemTemplate>
<asp:CheckBox ID="chk" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<p>
<asp:Button ID="btnOk" runat="server" Text="确定" onclick="btnOk_Click" />
</p>
<p>
<asp:Label ID="lblInfo" runat="server" Text=""></asp:Label>
</p>

后台代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)//必须加这个,否则取不到值
{
getData();
}
}
private void getData()
{
///读取表Course中的值并显示,表Course中有两列,列名分别是id,courseName
///注意修改数据源名称(.\SQL2008)为你自己的数据库实例名,一般直接写成.
///注意修改数据库连接的用户名与密码
///表Course自己建立
string str=@"Data Source=.\SQL2008;Initial Catalog=temp;User ID=sa;pwd=123456";
SqlConnection conn = new SqlConnection(str);
conn.Open();
SqlCommand cmd = new SqlCommand("select * from Course", conn);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
dgvUser.DataSource = dt;
dgvUser.DataBind();
conn.Close();
}

protected void btnOk_Click(object sender, EventArgs e)
{
string ids = "";
foreach (GridViewRow row in dgvUser.Rows)
{
CheckBox chk = row.FindControl("chk") as CheckBox;
if (chk.Checked)
{
Label lbl = row.FindControl("lblId") as Label;
ids += lbl.Text + ",";
}
}
///ids就是最终所选择的记录编号用逗号隔开之后组成的字符串,记住该值最后有一个逗号,在处理时记得将其去掉。如果ids保持为"",则表明用户没有选择任何一个记录

lblInfo.Text = "得到的编号是" + ids;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式