如下所示,我想在e.Row.Cells[i].Attributes.Add("onclick", "alert('行:" + e.Row.RowIndex + " 列:" + i + "')")这个单击事件中获取e.Row.RowIndex和i这两个值,本来想通过session来获取的,但是不懂如何写,求大侠帮助。js是可以alert出行号和列号的,我就是想把行号和列号传到另外的页面,怎么办呢,有什么方法可以实现?JavaScriptC#session
调试欢乐多
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
for (int i = 0; i < e.Row.Cells.Count; i++)
{
e.Row.Cells[i].Attributes.Add("onclick", "alert('行:" + e.Row.RowIndex + " 列:" + i + "')");
e.Row.Cells[i].Attributes.Add("onclick", "javascript:<%=Session["hang"] = e.Row.RowIndex,Session["lie"] = i;%>");
Session["hang"] = e.Row.RowIndex;
Session["lie"] = i;
}
}
}我就想用这种session的方法来获取,但是并不管用
通过url传参 就好啊
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
for (int i = 0; i < e.Row.Cells.Count; i++)
{
e.Row.Cells[i].Attributes.Add("onclick", "window.open('test.html?row=" + e.Row.RowIndex + "&cell="+i.ToString()+"','_blank')");
}
}
}
用session 是不行的
Session["hang"] = e.Row.RowIndex;
Session["lie"] = i;
上面只有一个最后一个值
那楼主怎样进入另外的 那个aspx 呢?
可以把你要操作的逻辑说下不
e.Row.Cells[i].Attributes.Add("onclick", "alert('行:" + e.Row.RowIndex + " 列:" + i + "')");,效果如下图:
那就这样
e.Row.Cells[i].Attributes.Add("onclick", "changeValue('"+e.Row.RowIndex+"','"+i.ToString()+"')");
changeValue 方法中可以是
1、更改页面上两个隐藏域的值,然后再你跳转的js方法中去获取这两个隐藏域的值 把行和列通过url参数传递
2、或是此方法中 将 当前行列存入 cookie ,另一个页面通过cookie来获取行和列
那就这样
e.Row.Cells[i].Attributes.Add("onclick", "changeValue('"+e.Row.RowIndex+"','"+i.ToString()+"')");
changeValue 方法中可以是
1、更改页面上两个隐藏域的值,然后再你跳转的js方法中去获取这两个隐藏域的值 把行和列通过url参数传递
2、或是此方法中 将 当前行列存入 cookie ,另一个页面通过cookie来获取行和列怎样将当前行列存入cookie呢,还有,怎么在.aspx.cs文件中写JS代码啊