没什么问题的,我想如果这个Label不在DataGrid中你一定很轻松实现的了.
通过event.srcElement.parentElement.children(0).id(具体情况可能不同,你必须自己测试通过DOM来取到Label的ID),唯一需要注意的就是必须在EditItemTemplate中显式给这个Label一个ID,取到这个ID什么都解决了...

解决方案 »

  1.   

    to jonsonzxw(.net从入门到精通):
        小弟现在是艰难度日,可用分经常在100以下,实在是囊中羞涩阿,情不要见怪。
    非常感谢两位回答我的问题,其实我对Javascript并不是很了解(想抽空学,无奈任务太多)所以还请各位解答的详细一点,十分感谢!
      

  2.   

    如果是textbox
    window.dialogArguments.document.all.textboxid.value=aaaLabel 在html是一个span,但不知道span在javascript里面怎么弄!
      

  3.   

    System.Web.UI.WebControls.label la=(label)this.DataGrid1.Items[i].Cells[0].FindControl("label_name");
    la.text="返回值"
      

  4.   

    to  bobcat79(老猫):
       我不明白你的意思。你写的代码是在后台.cs 文件上的,但是调用模态窗口的代码是写在Html中的,这两者如何结合在一起?
      

  5.   

    to mmkk():
       能不能具体讲讲你的实现方法?我不是很明白你说的DOM问题尚未解决请大家继续关注。
      

  6.   

    请大家注意:   我问题中的Label是在Datagrid的EditItemTemplate中的。我想解决起来应该有所不同吧。
      

  7.   

    当然不同,回传时如果不指定是EditItemTemplate,就看不到你填入Label中的内容.
    用行id,到数据库里找到那一条,返回你要的Label值.页面回传时,if如果返回值,DataGrid就为Edit状态.同时将返回的结果绑到DataGrid中的Label上.
      

  8.   

    to fengxin107(追逐彩虹) :
        你说的情况用Javascript怎样实现阿?
      

  9.   

    不用JavaScript也行阿,只要能实现。但是我不会,能给出关键代码吗?
      

  10.   

    in .aspx file:
    <script language=javascript>
    function OpenWin(labelID)
    {
    var vRet = window.showModalDialog("url...");
    if (vRet != null)
    {
      document.getElementById(labelID).innerText = vRet;
    }
    }in ItemDataBound event:
    if (e.Item.ItemType == ListItemType.EditItem)
    {
      Label lbl = (Label)e.Item.FindControl("Label1");
      LinkButton link = (LinkButton)e.Item.FindControl("LinkButton1");
      link.Attributes["onClick"] = "OpenWin('" + lbl.UniqueID + "');return false;";
    }在模态窗口中返回数据,用:window.returnValue="....";
      

  11.   

    但是我怎么不能将返回值赋给Label呢!?我的代码是这样的:<script>
    var retval="";
    function ShowDialog1()
    {
    retval=window.showModalDialog('aa.aspx',window);
    if(retval!="" && retval!=null)
    {
    document.getElementById("Label2").value=retval;
    }
    }
    </script>执行的时候,label2 上的文本像是闪了一下,但是将“Label2” 换成 “TextBox1” 返回值就会显示在TextBox上。这是怎么回事阿??
      

  12.   

    Label到客户端后会转换成span,而span是没有value属性的,应该是innerText或者innerHTML
      

  13.   

    抱歉,我打错了。是
    document.getElementById("Label2").innerText=retval;但是问题还是 执行的时候,label2 上的文本像是闪了一下,然后又改为原来的值了。比如说,原来的值是“Label”,returnValue是“jsdjfaslkjdfjksajdf”,但是执行完我上面给出的程序段后Label2.text还是“Label”!
    顺便问一下,在.net中好像有一个调试javascript 的工具,请问在哪阿??
      

  14.   

    http://support.microsoft.com/search/preview.aspx?scid=kb;en-us;Q320000
    http://support.microsoft.com/search/preview.aspx?scid=kb;en-us;Q317094
      

  15.   

    to icyer():
      你上面贴的页面想说明什么(由于我英文不好,所以没有完全看懂)按照上面说的我将IE浏览器中的“禁用脚本调试”的勾去掉了,但是好像还是不能调试Javascript阿。请指点。