如题:准备拼接字符串生成一些动态的客户端控件,在这里总是报错。这样就是报错的
'<input id="a'+i+'" name="test" type="text" runat="server" />'
这样就是可以的
'<input id="a1" name="test" type="text" runat="server" />'i是外层的循环变量。 ID不可以这么拼么?

解决方案 »

  1.   

    报错么,我这好的<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
     <meta http-equiv="content-type" content="text/html; charset=utf-8" />
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
      <SCRIPT LANGUAGE="JavaScript">
      <!--
     $(function(){
    for(var i = 0;i < 3 ; i++){
    $("body").append('<input id="a'+i+'" name="test" type="text" runat="server" />')
    } $("input[name=test]").each(function(){
    alert(this.id)
    })
     })
      //-->
      </SCRIPT>
     </HEAD>
     <BODY>  </BODY>
    </HTML>
      

  2.   

    是的。 我不是用JQUERY写的。 就是.NET 总报
    “a'+i+'”不是有效标识符
      

  3.   

    '<input id="a'+i+'" name="test" type="text" runat="server" />'
    这样写~·
      

  4.   

    .net 里 ''中间可以有多字符吗???
      

  5.   

    "<input id='a"+i+"' name='test' type='text' runat='server' />"
      

  6.   

    '<input id="a'+i+'" name="test" type="text" />'
      

  7.   

     runat="server" 的控件,不是你这样生成的。
      

  8.   


    谢谢提醒,我发现把runat="server" 去掉就不报错了。。但是这样我在后台就读不到数据了。应该怎么弄呢
      

  9.   


    这蛋疼的,不是说了么在后台PAGEload事件里遍历你需要的input,然后给每个input赋值你需要的ID就行了啊