大家好!刚接触asp,想做一个b/s结构web程序,现在有这样一个小问题。
我用GridView1只显示客户简单的信息(因为同一客户有多个数据库记录,所以我在GridView1中只显示总记录数),我希望通过点击GridView1行弹出一个div层,在这个div中再用一个GridView2显示详细的被选中的客户信息。我给GridView1绑定了DataKeys值,也就是客户的id,通过传递id在div中连接数据库给GridView2;但是如何正确的传递被选中行的DataKeys值呢?
GridView1的弹出div函数: protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                value = this.GridView1.DataKeys[e.Row.RowIndex].Value.ToString();
                e.Row.Attributes.Add("onmouseover", "c=style.backgroundColor;style.backgroundColor='#00A9FF'");
                e.Row.Attributes.Add("onmouseout", "style.backgroundColor=c");
                e.Row.Attributes.Add("onclick", "javascript:opendiv();");
            }
        }
div函数,div的id=View1
function opendiv() {
        if (View1.style.visibility == 'visible') {
            View1.style.visibility = 'hidden'
        }
        else {
            View1.style.visibility = 'visible';
            View1.style.top = event.clientY;
            View1.style.left = event.clientX;        }
    }
希望大神们帮帮忙!GridViewJavaScriptdiv

解决方案 »

  1.   

    js 实现无刷新的 显示详细  用ajax传递id的值到后台 然后 后台处理后 拼写一个table的html 返回 希望方法可以参考 
      

  2.   

    liang_show
    可以在详细一点吗,或者一些代码
      

  3.   

    ajax 会么?不会先看看这个,会的话,传一个id值,返回一个table形式的html 就可以了啊 
      

  4.   

    GridView2做在另一个页面上比较容易实现
      

  5.   


    div + ifram + 另一个aspx页面
      

  6.   

    可不可以这样,我用opendiv(id)传递当时的选中行的绑定事件 e.Row.Attributes.Add("onclick", "javascript:opendiv('" + value + "');");有没有方法在javascript的函数opendiv(value)中让它再调用后台对div中GridView2的数据绑定事件,比如执行  databind(string s)
      

  7.   

    这个想法太天真,只要调用后台方法都是要post的,post页面就会刷新,你的div就不存在了,所以只能用ajax或ifram来实现
      

  8.   

    fineui
    http://fineui.com/demo/#/demo/grid/grid_pageitems.aspx
      

  9.   

    Refer:
    http://www.cnblogs.com/insus/archive/2012/09/13/2682766.html获取索引:
    http://www.cnblogs.com/insus/archive/2013/01/13/2858803.html获取主键:
    http://www.cnblogs.com/insus/archive/2011/06/30/2094151.html