日期:2014-05-18  浏览次数:20416 次

JavaScript如何获得GridView里的DataKeys值?
我做的一个GridView设定了DataKeyNames属性为主键列,现在想用JS获得这列的值,代码如下:
C# code

   function loadPage()
   {
       var ids="";
       var count=parseInt("<%=GVW_Dev.Rows.Count %>");
       for(var i=0;i<count;i++)
       {
           //这里可以获得
           ids+="<%=GVW_Dev.DataKeys[0].Value.ToString() %>"+",";
           //这里报错:与System.Web.UI.WebControls.DataKeyArray.this[int]最匹配的重载方法具有一些无效参数
           ids+="<%=GVW_Dev.DataKeys["+i+"].Value.ToString() %>"+",";
       }
       alert(ids);
   }


出现的情况如上述代码注释所示,请教大家该如何写才能用循环取到这个DataKeys呢?

------解决方案--------------------
"<%=GVW_Dev.DataKeys["+i+"].Value.ToString() %>"+",";
i 虽然是数值但是在JS中 用到“”时 就回类型不匹配

推荐使用这用方法
C# code

public string showdatakeys() 
    {
        string s1 = string.Empty;
        int count = this.GridView1.Rows.Count;
        for (int i = 0; i < count;i++ )
        {
            s1 += this.GridView1.DataKeys[i].Value.ToString();
        }
        return s1;
    }