想要实现一个循环打印表格的功能,因刚学.NET,不太会用好办法。
目前采用的做法是:在需要插入表格的地方插入了一个<asp:label>控件,然后在CS文件中,将表格的完整写法赋值给一个变量,然后使用一个循环语句让label标签的text=变量的值,表格是可以实现循环输出的效果了,可是原本表格中有部分链接需要调用客户端的JAVASCRIPT代码实现一些效果,可是使用这个方法后,就不能再调用JAVASCRIPT函数了
请教哪位大虾知道这是什么原因?
又应该怎么解决这个问题呢?另外如果有其它的好办法可以实现我想要的效果的办法,希望不吝啬指教!

解决方案 »

  1.   

    同时附上相关部分代码:
    aspx文件中:
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <asp:Label ID="webList" Runat="server" EnableViewState="False"></asp:Label>
    </table>CS文件中:
    string bodyHtmlString;
    bodyHtmlString="";
    while(ClassNameReader2.Read())
    {
    bodyHtmlString=bodyHtmlString+"<tr>"+"\n";
    bodyHtmlString=bodyHtmlString+"<td><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"+"\n";
    bodyHtmlString=bodyHtmlString+" <tr>"+"\n";
    bodyHtmlString=bodyHtmlString+"  <td width=\"116\" valign=\"top\">"+"\n";
    bodyHtmlString=bodyHtmlString+"                              <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"+"\n";
    bodyHtmlString=bodyHtmlString+"             <tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" <td><img src=\"images/pic31.gif\" width=\"11\" height=\"8\"></td>"+"\n";
    bodyHtmlString=bodyHtmlString+" </tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" <tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" <td height=\"82\" align=\"center\" valign=\"middle\" bgcolor=\"#cccccc\"><a href=\"#\"><img src=\"images/pic06.jpg\" width=\"108\" height=\"74\" border=\"0\"></a></td>"+"\n";
    bodyHtmlString=bodyHtmlString+" </tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" </table>"+"\n";
    bodyHtmlString=bodyHtmlString+" </td>"+"\n";
    bodyHtmlString=bodyHtmlString+" <td width=\"8\"><img src=\"images/pic32.gif\" width=\"8\" height=\"16\"></td>"+"\n";
    bodyHtmlString=bodyHtmlString+" <td valign=\"top\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"+"\n";
    bodyHtmlString=bodyHtmlString+" <tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" <td><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"+"\n";
    bodyHtmlString=bodyHtmlString+" <tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" <td width=\"350\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"+"\n";
    bodyHtmlString=bodyHtmlString+" <tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" <td width=\"19\"><img src=\"images/pic30.gif\" width=\"19\" height=\"24\"></td>"+"\n";
    bodyHtmlString=bodyHtmlString+" <td valign=\"bottom\" class=\"e\"><strong><a href=\"#\">广东皇家数码</a></strong></td>"+"\n";
    bodyHtmlString=bodyHtmlString+" </tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" </table>"+"\n";
    bodyHtmlString=bodyHtmlString+" </td>"+"\n";
    bodyHtmlString=bodyHtmlString+" <td><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"+"\n";
    bodyHtmlString=bodyHtmlString+" <tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" <td width=\"26\"><img src=\"images/pic34.gif\" width=\"26\" height=\"24\"></td>"+"\n";
    bodyHtmlString=bodyHtmlString+" <td valign=\"bottom\" class=\"c\"><a href=\"#\">娱乐资讯</a></td>"+"\n";
    bodyHtmlString=bodyHtmlString+" </tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" </table>"+"\n";
    bodyHtmlString=bodyHtmlString+" </td>"+"\n";
    bodyHtmlString=bodyHtmlString+" </tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" </table>"+"\n";
    bodyHtmlString=bodyHtmlString+" </td>"+"\n";
    bodyHtmlString=bodyHtmlString+" </tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" <tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" <td><img src=\"images/pic33.gif\" width=\"446\" height=\"2\"></td>"+"\n";
    bodyHtmlString=bodyHtmlString+" </tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" <tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" <td class=\"f\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"+"\n";
    bodyHtmlString=bodyHtmlString+" <tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" <td><img src=\"images/pic31.gif\" width=\"11\" height=\"8\"></td>"+"\n";
    bodyHtmlString=bodyHtmlString+" </tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" <tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" <td class=\"f\"><font color=\"#666666\"><a href=\"#\">皇家网络系一家以多媒体为平台的独资企业,目前致力于网络多媒体,娱乐消费联<br>"+"\n";
    bodyHtmlString=bodyHtmlString+" 盟及电子商务的等多个栏目的开发,公司旗下主要的3大网站:皇家影院皇家网络系<br>"+"\n";
    bodyHtmlString=bodyHtmlString+" 一家以多媒体为平台的...</a></font></td>"+"\n";
    bodyHtmlString=bodyHtmlString+" </tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" </table>"+"\n";
    bodyHtmlString=bodyHtmlString+" </td>"+"\n";
    bodyHtmlString=bodyHtmlString+" </tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" <tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" <td><div align=\"right\">"+"\n";
    bodyHtmlString=bodyHtmlString+" <table width=\"95%\" border=\"0\" align=\"left\" cellpadding=\"0\" cellspacing=\"0\">"+"\n";
    bodyHtmlString=bodyHtmlString+" <tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" <td><div align=\"right\"><a href=\"#\" onmouseout=\"MM_swapImgRestore()\" onmouseover=\"MM_swapImage('Image453111','','images/pic35-1.gif',1)\">"+"\n";
    bodyHtmlString=bodyHtmlString+"                                                                    <img src=\"images/pic35.gif\" name=\"Image453111\" width=\"82\" height=\"22\" border=\"0\" id=\"Image453\"></a></div>"+"\n";
    bodyHtmlString=bodyHtmlString+" </td>"+"\n";
    bodyHtmlString=bodyHtmlString+" </tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" </table>"+"\n";
    bodyHtmlString=bodyHtmlString+" </div>"+"\n";
    bodyHtmlString=bodyHtmlString+" </td>"+"\n";
    bodyHtmlString=bodyHtmlString+" </tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" </table>"+"\n";
    bodyHtmlString=bodyHtmlString+" </td>"+"\n";
    bodyHtmlString=bodyHtmlString+" </tr>"+"\n";
    bodyHtmlString=bodyHtmlString+" </table>"+"\n";
    bodyHtmlString=bodyHtmlString+" </td>"+"\n";
    bodyHtmlString=bodyHtmlString+" </tr>"+"\n";
    }
    webList.Text=bodyHtmlString;在鼠标移动到链接上时,会调用函数,可是用现在这种方法实现效果后,鼠标移动到链接上即不报JAVASCRIPT错误,也不实现效果,不知道是怎么个原因。
    onmouseout=\"MM_swapImgRestore()\" onmouseover=\"MM_swapImage('Image453111','','images/pic35-1.gif',1)
      

  2.   

    前台
    <script language="javascript">
    function do_view()
    {
    alert("aldsjfl");
    return;
    }

    </script>
    后台this.Label1.Attributes.Add("onmouseover","javascript:do_view();");
      

  3.   

    onmouseout=\"MM_swapImgRestore()\" onmouseover=\"MM_swapImage('Image453111','','images/pic35-1.gif',1)页面源代码里面看看“Image453111”是不是变了名字了?
      

  4.   

    呵呵,同路啊,我刚好写到一个需要取 <asp: TextBox 的值的问题...
      

  5.   

    太长了
    ie里运行,查看源文件,再看看哪里有问题
    label会解释成span,建议还是用div好些
    webList.Text="<div id=xxx onmouseout=MM_swapImgRestore() onmouseover=MM_swapImage('Image453111','','images/pic35-1.gif',1)>+bodyHtmlString+"</div>";
    顺便检查一下MM_swapImage,看看是不是参数问题
      

  6.   

    前台
    <script language=javascript>
    fucntion do_view(id)
    {
      form1.HiddenButton1.value=Trim(document.getElementById(id).value);
    }
    </script>
    将HiddenButton1转成服务器控件后台
       this.Label1.Attributes.Add("onmouseover","javascript:do_view('"+this.Label1.FindControl(this.Label1).ClientID+"');");//onmouseover可以为其他事件//this.HiddenButton1.Text+"";//可获取
    trihero(不会写瞎写) 的问题同理
      

  7.   

    后台
       this.Label1.Attributes.Add("onmouseover","javascript:do_view('"+this.FindControl(this.Label1).ClientID+"');");//onmouseover可以为其他事件//this.HiddenButton1.Text+"";//可获取
    trihero(不会写瞎写) 的问题同理
      

  8.   

    this.Label1.Attributes.Add("onmouseover","javascript:do_view('"+this.FindControl(this.Label1.ToString()).ClientID+"');");
      

  9.   

    insiderc 你的方法我试过了,还是不行啊!
    是不是前面的JAVASCRIPT必须要传递一个ID参数?不传可不可以?我是想在LABEL控件里的一个链接上调用JAVASCRIPT
      

  10.   

    已经知道问题在哪了。。
    是因为我在循环打印的时候,图片的名字都是一样的,所以导致在调用SCRIPT时,不知道要处理的是哪个。
    唉。。问题是脚本竟然都不报错,害我找来找去也不知道哪有问题谢谢上面各位的热心解答啊:)
      

  11.   

    可能是放到label里之后,把有些符号格式化了,请分析你页面运行之后的html代码,看看脚本处有无代码被格式化了.
    其实你可以使用服务器端的表格形成页面的.示例:
    TableRow myrow = new TableRow();
    TableCell mycell = new TableCell();
    HyperLink mylnk = new Hyperlink();
    mylnk.NavigateUrl = "xxx.aspx";
    mylnk.Attributes.Add("onclick","脚本名");
    mycell.Controls.Add(mylnk);
    myrow.Controls.Add(mycell);
    this.Table.Controls.Add(myrow);