当前位置:编程学习 > C#/ASP.NET >>

C#代码如何获取javascript中国的变量值,在线求助

如下所示,我想在e.Row.Cells[i].Attributes.Add("onclick", "alert('行:" + e.Row.RowIndex + " 列:" + i + "')")这个单击事件中获取e.Row.RowIndex和i这两个值,本来想通过session来获取的,但是不懂如何写,求大侠帮助。

js是可以alert出行号和列号的,我就是想把行号和列号传到另外的页面,怎么办呢,有什么方法可以实现? JavaScript C# session --------------------编程问答-------------------- 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", "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;
上面只有一个最后一个值 --------------------编程问答--------------------
引用 2 楼 u011096386 的回复:
另外的页面  是一个 链接地址啊 
通过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;
上面只有一个最后一个值

确实是这样的,session只能去最后一个值。可是我单击的时候并不像跳去其他页面,所以,通过URL传参不符合我的要求。我试过URL传参了,URL完全可以传,可是我不想跳转。最好是直接可以获取  i   和 e.Row.RowIndex  这两个参数,我在另外一个aspx.cs 文件中需要获取这两个参数,还有其他办法吗,兄弟,帮帮忙,这问题困扰我好几天了,实在是想不出还要其他的办法。隐藏域不懂有没有用 --------------------编程问答--------------------
引用 3 楼 yuanyangzimu 的回复:
Quote: 引用 2 楼 u011096386 的回复:

另外的页面  是一个 链接地址啊 
通过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;
上面只有一个最后一个值

确实是这样的,session只能去最后一个值。可是我单击的时候并不像跳去其他页面,所以,通过URL传参不符合我的要求。我试过URL传参了,URL完全可以传,可是我不想跳转。最好是直接可以获取  i   和 e.Row.RowIndex  这两个参数,我在另外一个aspx.cs 文件中需要获取这两个参数,还有其他办法吗,兄弟,帮帮忙,这问题困扰我好几天了,实在是想不出还要其他的办法。隐藏域不懂有没有用

那楼主怎样进入另外的 那个aspx 呢?
可以把你要操作的逻辑说下不 --------------------编程问答-------------------- 我单击的时候是可以获取行号和列号的,也就是  i  和 e.Row.RowIndex  这两个参数。alert的语句如下:
 e.Row.Cells[i].Attributes.Add("onclick", "alert('行:" + e.Row.RowIndex + " 列:" + i + "')");

,效果如下图:
--------------------编程问答-------------------- 进入另一个页面我是通过JS来进去的,那个URL不能传递参数,就卡在这里了,所以想通过后台来获取参数,方便的话,加我QQ帮一下吧,真的困扰我好久了,我QQ1204351172 --------------------编程问答--------------------
引用 6 楼 yuanyangzimu 的回复:
进入另一个页面我是通过JS来进去的,那个URL不能传递参数,就卡在这里了,所以想通过后台来获取参数,方便的话,加我QQ帮一下吧,真的困扰我好久了,我QQ1204351172


那就这样 
   e.Row.Cells[i].Attributes.Add("onclick", "changeValue('"+e.Row.RowIndex+"','"+i.ToString()+"')");
 changeValue 方法中可以是 
1、更改页面上两个隐藏域的值,然后再你跳转的js方法中去获取这两个隐藏域的值 把行和列通过url参数传递
2、或是此方法中 将 当前行列存入 cookie ,另一个页面通过cookie来获取行和列 --------------------编程问答--------------------
引用 7 楼 u011096386 的回复:
Quote: 引用 6 楼 yuanyangzimu 的回复:

进入另一个页面我是通过JS来进去的,那个URL不能传递参数,就卡在这里了,所以想通过后台来获取参数,方便的话,加我QQ帮一下吧,真的困扰我好久了,我QQ1204351172


那就这样 
   e.Row.Cells[i].Attributes.Add("onclick", "changeValue('"+e.Row.RowIndex+"','"+i.ToString()+"')");
 changeValue 方法中可以是 
1、更改页面上两个隐藏域的值,然后再你跳转的js方法中去获取这两个隐藏域的值 把行和列通过url参数传递
2、或是此方法中 将 当前行列存入 cookie ,另一个页面通过cookie来获取行和列


怎样将当前行列存入cookie呢,还有,怎么在.aspx.cs文件中写JS代码啊
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,