<asp:datagrid id="MyDataGrid" runat="server" AutoGenerateColumns="False" HorizontalAlign="Center" PageSize="10" DataKeyField="id">请问是不是这么设置?我数据库中,id是主键,这里的
DataKeyField=""里面是不是就放id?
private void Button1_Click(object sender, System.EventArgs e)
{
string ids = "";
foreach(DataGridItem item in MyDataGrid.Items)
{
CheckBox box = (CheckBox)item.FindControl("Check");
if(box.Checked)
{
ids += MyDataGrid.DataKeys[item.ItemIndex].ToString() + ",";}
}
ids = ids.TrimEnd(new char[]{','}); Response.Write(ids);
Response.End(); }我想点击Button1时把选种的数据的id付值给ids,运行效果应该是:1,2,3,4,5
可是上面的代码,我运行后取不到ids的值,帮忙看看啊~~
DataKeyField=""里面是不是就放id?
private void Button1_Click(object sender, System.EventArgs e)
{
string ids = "";
foreach(DataGridItem item in MyDataGrid.Items)
{
CheckBox box = (CheckBox)item.FindControl("Check");
if(box.Checked)
{
ids += MyDataGrid.DataKeys[item.ItemIndex].ToString() + ",";}
}
ids = ids.TrimEnd(new char[]{','}); Response.Write(ids);
Response.End(); }我想点击Button1时把选种的数据的id付值给ids,运行效果应该是:1,2,3,4,5
可是上面的代码,我运行后取不到ids的值,帮忙看看啊~~
if(box.Checked)
{
ids += MyDataGrid.DataKeys[item.ItemIndex].ToString() + ",";}
Response.Write("已选中");
Response.End();}
可以显示已选中
{
ids += MyDataGrid.DataKeys[item.ItemIndex].ToString() + ",";}
Response.Write("已选中");
Response.End();}
显示不出了
{
Response.Write("按扭选中");
foreach(DataGridItem dgi in this.MyDataGrid.Items)
{
Response.Write("循环开始");
CheckBox chk = (CheckBox)dgi.FindControl("Check");
Response.Write(chk);
if(chk.Checked)
{
Response.Write("选中");
Response.End();
}
else
{
Response.Write("没选中");
Response.End();
}
}
}显示结果为:按扭选中
循环开始
System.Web.UI.WebControls.CheckBox
没选中