在第一个页面添加TemplateField的checkbox的控件,被勾选的checkbox点击button按钮会把勾选的值传到另一个界面的gridview中
时间: 2024-03-17 18:47:10 浏览: 107
首先,你需要在页面上添加一个 TemplateField 的 CheckBox 控件,代码如下:
```html
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="chkSelectAll" runat="server" onclick="CheckAll(this);" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkSelect" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
```
上面的代码中,我们在 GridView 控件的 TemplateField 中添加了一个 CheckBox 控件,同时在 HeaderTemplate 中添加了一个全选的 CheckBox 控件,并绑定了一个 onclick 事件。
接下来,我们需要在 button 的 Click 事件中获取勾选的 CheckBox 控件的值,并传递给另一个界面的 GridView 控件中。代码如下:
```csharp
protected void btnSubmit_Click(object sender, EventArgs e)
{
// 遍历 GridView 中的每一行
foreach (GridViewRow row in GridView1.Rows)
{
// 获取 CheckBox 控件
CheckBox chkSelect = row.FindControl("chkSelect") as CheckBox;
// 判断 CheckBox 是否被勾选
if (chkSelect != null && chkSelect.Checked)
{
// 获取勾选的值
string value = GridView1.DataKeys[row.RowIndex].Value.ToString();
// 传递给另一个界面的 GridView 控件
GridView2.DataSource = value;
GridView2.DataBind();
}
}
}
```
上面的代码中,我们遍历了 GridView 中的每一行,获取 CheckBox 控件,并判断是否被勾选。如果被勾选,就获取对应行的值,并传递给另一个界面的 GridView 控件中。注意,我们使用了 DataKeys 属性来获取对应行的值。
另外,我们也可以使用 Session 或者 QueryString 等方式传递数据给另一个界面。具体实现方式可以根据具体需求进行选择。
阅读全文