参考http://blog.csdn.net/kwklover/archive/2003/09/30/20978.aspx然后将OpenPopUp方法的第一个参数设置为要点击的DataGrid就行了
解决方案 »
- 用ViewState传值与页面类中私有字段有什么区别?
- +++++++++++++++++++++++简单js晕++++++++++++++++
- Server.Transfer传递页面后,能获得上一页面的DataList数据源吗?
- 页面设计问题
- 什么是.NET 程序集强签名
- 是使用服务器控件还是使用html代码输出?
- 新手提问
- 如何让window.open打开的页面获得原页面的cookies?
- *** 如何将字符串转换为整型的数组***
- 关于_dopostback对象丢失问题!高手请进
- javascript变量赋值的问题,急,谢谢帮忙
- 请帮帮忙!!!!关于TEXTBOX,简单3问题?在线等待!!
然后在itemdatabound事件中加
if ((itemType != ListItemType.Pager) && (itemType != ListItemType.Header) && (itemType != ListItemType.Footer))
{
LinkButton button = (LinkButton)e.Item.Cells[0].Controls[0];
e.Item.Attributes["onclick"] = Page.GetPostBackClientHyperlink(button, "");
}
当然前提是你有选择列就是selectbutton,可以把它隐藏,在上面加e.item.cells[0].visible=false;或者用datagrid.columns[0].visible =false;
foreach (item in datagrid.items)
{
item.Attributes.Add("OnClick", "javascript:window.open('url');");
}
<---伪代码~只是讲个思路~就是给每个item(最终生成<table>的<tr>)加上onClick事件。
{
this.dataSourceDT = new DataTable("testDT");
this.dataSourceDT.Columns.Add("A");
DataRow dataRow; for(int i=0; i < 100; i++)
{
dataRow = this.dataSourceDT.NewRow();
dataRow["A"] = i.ToString("000");
this.dataSourceDT.Rows.Add(dataRow);
} this.dgMyDataGrid.DataSource = this.dataSourceDT;
this.dgMyDataGrid.DataBind(); foreach(System.Web.UI.WebControls.DataGridItem dgItem in this.dgMyDataGrid.Items)
{
dgItem.Attributes.Add("OnClick", "javascript:alert('" + dgItem.ItemIndex.ToString() + "');");
}
}
=====================
试了一下,上面是代码。:D
foreach(System.Web.UI.WebControls.DataGridItem dgItem in this.dgMyDataGrid.Items)
{
//假设我把数据库的ID绑定在DataGrid的第一列
dgItem.Attributes.Add("OnClick", "javascript:alert('" + dgItem.Cells[0].Text.ToString() + "');");
}