在c# asp.net中使用文件上传服务器端控制器时出现无效标识符错误

Invalid identifier error while using File upload server side controller in c# asp.net

本文关键字:控制器 服务器端 错误 标识符 无效 net asp 文件      更新时间:2023-09-26

在c# asp.net中使用Fileupload控制器时出现以下错误。

错误:描述:在解析服务此请求所需的资源时发生错误。请查看以下特定的解析错误详细信息,并适当修改源文件。

>    Parser Error Message: 'txtExpCert" + i + "' is not a valid identifier.
    Source Error: 

    Line 567:             }
    Line 568:             $.getScript("js/bootstrap-filestyle.min.js");
    Line 569:             $('#expOl').append("<li><div class='totalaligndiv'>
<div class='col-md-10 padding-zero bannerimagefilenew bmargindiv1'>
<asp:FileUpload  runat='server' CssClass='filestyle' data-size='lg' 
name='expcerti' id='txtExpCert" + i + "' ></div>
<div class='col-md-2 padding-zero bmargindiv1'>
<button type='button' class='btn btn-success btn-sm ' id='Expadd'>+</button>
<button type='button' class='btn btn-danger btn-sm' id='minus'
style='display:none'>-</button></div>
<div class='clearfix'></div></div></li>");
    Line 570:             //$('.filestyle').attr("id","expcerti"+i);
    Line 571:             $(this).css('display', 'none');
    Source File: /DoctorSignUp.aspx    Line: 569 

我在下面解释我的代码。

    $(document).ready(function () {
             $(document).on('click', '.btn-success', function () {
                  var i;
                 if (sessionStorage.length == 0) {
                      i = 1;
                 } else {
                      i = sessionStorage.getItem('id');
                 }
                 $.getScript("js/bootstrap-filestyle.min.js");
                 $('#expOl').append("<li><div class='totalaligndiv'>
<div class='col-md-10 padding-zero bannerimagefilenew bmargindiv1'>
<asp:FileUpload  runat='server' CssClass='filestyle' data-size='lg' 
name='expcerti' id='txtExpCert" + i + "' ></div>
<div class='col-md-2 padding-zero bmargindiv1'>
<button type='button' class='btn btn-success btn-sm ' id='Expadd'>
+</button><button type='button' class='btn btn-danger btn-sm' id='minus' 
style='display:none'>-</button></div>
<div class='clearfix'></div></div></li>");
                 //$('.filestyle').attr("id","expcerti"+i);
                 $(this).css('display', 'none');
                 $(this).siblings("button.btn-danger").css('display', 'block');
                 i++;
                 sessionStorage.setItem('id', i);
             });
             $(document).on('click', '.btn-danger', function () {
                 console.log('delete');
                 $(this).closest("li").remove();
             });
         });

实际上,当我把简单的文件输入(i.e-<input type='file' class='filestyle' data-size='lg' name='expcerti' id='txtExpCert"+i+"' >)其工作正常,但在这里我的要求是生成生成服务器端文件控制器使用asp.net.请帮助我解决这个错误。假设文件输入是正确生成的,因为你可以检查我正在动态地为每个输入生成id,所以我如何使用c#访问后端代码文件中的这些文件值。

错误在这一行

<asp:FileUpload  runat='server' CssClass='filestyle' data-size='lg' 
name='expcerti' id='txtExpCert" + i + "' >

动态添加控件,而不是像下面的代码那样动态命名,

FileUpload fu = new FileUpload();
fu.ID = "fu1";
form1.Controls.Add(fu);