{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes["onclick"] = "location.href='MailsByOne.aspx?id=" + DataBinder.Eval(e.Row.DataItem, "id") + "'";
e.Row.Attributes["style"] = "cursor:pointer";
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
contacts connn = new contacts();
int index = GridView1.SelectedRow.RowIndex;
int ID = Convert.ToInt32(GridView1.SelectedRow.Cells[0].Text);
string message = "Row Index: " + index + "\\ContactID: " + connn.ContactID;
ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('" + message + "');", true);
}
ASP.Net中的GridView行单击事件我想获取id,并在单击行时将其发送到另一个页面。
发布于 2014-09-18 13:13:58
试试这个:
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes["onclick"] =
this.Page.ClientScript.
GetPostBackClientHyperlink(this.grdList, "Select$" + e.Row.RowIndex);
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
GridViewRow SelectedRow = grdList.SelectedRow;
string id = SelectedRow.Cells[0].Text;
Response.Redirect("~/Mail/ShowMail.aspx?q="+id);
}
发布于 2014-09-18 13:17:57
您可以在网格视图中使用Datakeynames属性
<asp:GridView DataKeyNames="your Id you want to send">
在您的.cs代码中将包含
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
string id= gvCustomReports.DataKeys[int.Parse(e.CommandArgument.ToString())].Values[0].ToString();
Response.Redirect("MailsByOne.aspx?contactid="+id);
}
发布于 2014-09-18 13:17:29
void GridView1_SelectedIndexChanged(Object sender, EventArgs e)
{
// Get the currently selected row using the SelectedRow property.
GridViewRow row = gridview1.SelectedRow;
//now get the labels if you use Template Fields
Label _LabelId = row.FindControl("LabelId") as Label;
//if You use Bound Fields then
int ID = Convert.ToInt32(GridView1.SelectedRow.Cells[0].Text);
Response.Redirect("~/Mail/ShowMail.aspx?q="+id);
}
https://stackoverflow.com/questions/25904509
复制相似问题