ASP.NET如何使用'<%=的计数器

时间:2012-10-15 00:52:02

标签: c# asp.net

我想使用此论坛中的一些脚本进行多次上传。 脚本完美无缺,但是当我将它与我的项目合并时。 javascript无法获取我元素的值。 我发现问题是因为我在页面中有很多ID PANEL,我需要更改为getElementByID('<%="FileUpdate.ClientID%>').value(原始:getElementByID("FileUpdate").value

问题是: 我必须使用计数器,例如:getElementByID('<%="txtFileUpdate' + counter + '%>').value但它失败了。 错误说“字符文字中的字符太多”指向该行。

请有人帮忙,有没有解决这个问题的方法?

这是脚本

-----&GT;错误“字符文字中的许多字符”

    <script type="text/javascript" language="javascript">

    var counter = 1;

    function AddFileUpload() {
        if (counter < 5) {
            counter++;
            var div = document.createElement('DIV');
            div.innerHTML = '<input id="FileUpload' + counter + '" name = "file' + counter +
         '" type="file" />' +
          '<input id="Button' + counter + '" type="button" ' +
          'value="Remove" onclick = "RemoveFileUpload(this)" />';
            document.getElementById("FileUploadContainers").appendChild(div);
        }
        else {
            alert("Cannot attach more than 5 file");
        }
    }

    function GetFile() {
        var temp;
        var error = "";
        var stringx = "";
        var exCounter = 1 ;
        for (exCounter; exCounter <= counter; exCounter++) {
     -----> stringx = document.getElementById('<%=FileUpload'+exCounter+'.ClientID%>').value;    
                if (stringx != "")
                temp += stringx + "#;";
            else 
                error += exCounter + ", ";                            
        }
        if (error != "") {
            alert("Field " + error + " Still Empty");
            return;
        }
            document.getElementById('<%=HiddenField1.ClientID%>').value = temp;            
    }

1 个答案:

答案 0 :(得分:0)

试试这个:

getElementByID('FileUpdate<%=counter%>').value

getElementByID('<%=txtFileUpdate + counter.ToString()%>').value