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

用js为DataGrid动态添加行,但为什么在DataGrid中取不到
我为DataGrid创建只创建了个表头(表里无内容),含两个模板列,之后用js为其添加了几行,浏览器中已显示出来,之后我用

private   void   btnSave_Click(object   sender,   System.EventArgs   e)
{
    if(   Datagrid2.Items.Count==0   )
        return;
}

取到的项数为0,该怎么取JS动态添加的行?

------解决方案--------------------
客户端创建的东西
服务器端当然取不到

必须得从客户端传到服务器端才行

可以考虑XmlHttp或者放到Hidden中
------解决方案--------------------
为什么去得到?

如果不确定的东西,就要问得深入一些,才能分辨出是掌握了原理来开发还是瞎碰答案。所以,在问别人“为什么在DataGrid中取不到 ”之前其实应该首先问自己为什么觉得应该取得到?
------解决方案--------------------
js加的东西即然已加到浏览器上并且能看到,相不通为什么不行
=======================================================
浏览器看到了代表客户端看到了,但服务器端未必看到了啊

可以考虑XmlHttp或者放到Hidden中
===============================
XmlHttp稍微高级些,把你添加的值放到Hidden元素上,在服务器端通过Reponse.Form[ "Hidden名 "] 得到,或者通过 Hidden1.Value得到(如果你的Hidden1是Html服务器端控件)
------解决方案--------------------
MSXML中提供了Microsoft.XMLHTTP对象
这样岂不是将浏览器限制为IE?
跨平台特性不就没了吗?WEB编程的优势之一无法发挥

--------》
XmlHttp只能在IE中使用??
http://blog.blueshop.com.tw/ajun/archive/2005/04/26/3402.aspx
看看这个
跨平台跟跨浏览器两个概念吧