我在c#代码里拼接字符串形成一段javascript脚本,调用到alert函数,目的是把页面上一个label的文本内容显示出来,但是结果却没有弹出框。我感觉是那个label的缘故,求高手解释!!
c#代码如下:
 Response.Write("<script language='javascript'>alert('" +((Label)e.Item.FindControl("blogname")).Text+ "')</script>");
点击datalist上的一个linkbutton之后进入事件,走到这段代码。假如我不用Label而是显示Linkbutton的文本就没事,代码如下:Response.Write("<script language='javascript'>alert('" + ((LinkButton)e.Item.FindControl("accept")).Text+ "')</script>");
两个的asp代码如下:
<asp:Label ID="blogname" runat="server" Text =<%#DataBinder.Eval(Container.DataItem,"blogname") %> ></asp:Label>
<asp:LinkButton ID="accept"  runat="server" CommandName="accept" Text="接受"></asp:LinkButton>

解决方案 »

  1.   

    是不是在执行Response.Write的时候还没有对Label执行绑定
    觉得如果拼成这样应该不会出错"alert(document.getElementById('"+Control.ClientID+"').innerHTML)";
    代码不一定对,意思是这样的
      

  2.   


    我这样做了也弹不出来你的代码是不是把当前id就是e.item.ID传进去?后面那个innerHTML是干什么用的?document指的是什么?
      

  3.   

    看看你的LABEL里面的内容是不是包含有单引号等特殊字符alert('" +((Label)e.Item.FindControl("blogname"))
    alert函数的弹出内容用单引号括起来了,如果内容页包含单引号就会出错   
      

  4.   

    输出之前 先看下((Label)e.Item.FindControl("blogname")).Text  看看值是什么啊