Javascript 在c#asp.net中显示基于datatable记录的动态HTML tr

Javascript 在c#asp.net中显示基于datatable记录的动态HTML tr,javascript,c#,html,asp.net,Javascript,C#,Html,Asp.net,我有一个需求,我希望根据来自datatable的行生成动态HTMLTR行。目前,从我尝试的代码中,它只获取datatable的第一个,并显示在HTML中 下面是我尝试的代码 HTML {SR_NO} {维护点} C# for(int i=0;itd你使用的是asp.net MVC还是asp.net web表单?而且tr>td应该包装成for loop你想要服务器大小的分页还是所有的数据同时出现?@AbhishekPandey:是的,我希望服务器的所有动态数据都以HTML格式设置,并基于dt行

我有一个需求,我希望根据来自
datatable
的行生成动态HTMLTR行。目前,从我尝试的代码中,它只获取datatable的第一个,并显示在HTML中

下面是我尝试的代码

HTML


{SR_NO}
{维护点}
C#

for(int i=0;i
请帮助我如何根据数据表计数生成显示多个tr

更新的问题

public void Export()
    {
        string CIRCLE = Request.Form[0];  //Request.Form["circleidSignOff"]
        string HOTODATE = Request.Form[1];

        if (CIRCLE == "GJ")
        {
            CIRCLE = "Gujarat";
        }

        string strCircleHotoDate = CIRCLE + "_" + HOTODATE;
        string strSignOffSheet = CIRCLE + '_' + HOTODATE + ".pdf";

        Document pdfDoc;
        pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 10f);

        MemoryStream ms = new MemoryStream();
        PdfWriter pdfWriter = PdfWriter.GetInstance(pdfDoc, ms);

        SignOffAttrPDF ObjSingOffPDF = new SignOffAttrPDF();
        ObjSingOffPDF.Circle = CIRCLE;
        ObjSingOffPDF.HotoDate = HOTODATE;           
        pdfWriter.PageEvent = ObjSingOffPDF;

        pdfDoc.Open();

        string outXml = string.Empty;            
        string mon = "";

        CLSFilter ObjCLSFilter = new CLSFilter();
        string[] monthArray = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
        int month = Array.IndexOf(monthArray, HOTODATE.Split(' ')[0]);


        if (month <= 10)
        {
            mon = "0" + "" + month;
        }
        else
        {
            mon = "" + month;
        }

        string strDate = mon + "" + HOTODATE.Split(' ')[1];
        DataTable dt = ObjCLSFilter.SignOffSheetData1(CIRCLE, strDate);

        if (dt != null && dt.Rows.Count > 0)
        {
            ObjSingOffPDF.CreatedDateTime = DateTime.Now.ToString();

            using (StreamReader reader = new StreamReader(HttpContext.Server.MapPath("~/ExportToPdf.html")))
            {
                outXml = reader.ReadToEnd();

                outXml = outXml.Replace("{CIRCLE}", CIRCLE);
                outXml = outXml.Replace("{SP_NAME}", CIRCLE);
                outXml = outXml.Replace("{INVENTORY_FOR}", strDate);


                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    //outXml = outXml.Replace("{SR_NO}", );  // SR NO
                    outXml = outXml.Replace("{MAINTENANCE_POINT}", dt.Rows[i]["ITEM"].ToString());
                }


                reader.Close();
            }
        }

        string[] separator = new string[] { @"<br clear='all' style='page-break-before:always'>" };
        string[] pages = outXml.Split(separator, StringSplitOptions.None);
        int intPageCounter = 0;

        foreach (string page in pages)
        {
            //List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StringReader(page), null);

            List<IElement> htmlarraylist = XMLWorkerHelper.ParseToElementList(outXml, null);

            if (intPageCounter > 0)
            {
                pdfDoc.NewPage();
            }

            pdfDoc.SetMargins(20, 20, 60, 40);

            for (int k = 0; k < htmlarraylist.Count; k++)
            {
                pdfDoc.Add((IElement)htmlarraylist[k]);
            }
            intPageCounter++;
        }
        pdfDoc.Close();

        string UploadFolderPath = ConfigurationManager.AppSettings["UploadFolderPath"].ToString();

        string strFilePath = Server.MapPath(UploadFolderPath) + "" + strSignOffSheet + ".pdf" ;

        using (ZipFile zip = new ZipFile())
        {
            zip.AlternateEncodingUsage = ZipOption.AsNecessary;
            if (Directory.Exists(strFilePath))
            {
                DirectoryInfo di = new DirectoryInfo(strFilePath);
                FileInfo[] FileInfo = di.GetFiles();

                if (FileInfo.Length > 0)
                {
                    foreach (FileInfo item in FileInfo)
                    {
                        zip.AddFile(item.FullName, "Files");
                    }
                }
            }

            Stream Objstream = new MemoryStream(ms.ToArray());
            Objstream.Seek(0, SeekOrigin.Begin);

            zip.AddEntry(strSignOffSheet, Objstream);

            HttpContext.Response.Clear();
            HttpContext.Response.BufferOutput = false;
            string zipName = String.Format("Zip_{0}.zip", CIRCLE + "_" + HOTODATE);
            HttpContext.Response.ContentType = "application/zip";
            HttpContext.Response.AddHeader("content-disposition", "attachment; filename=" + zipName);
            zip.Save(HttpContext.Response.OutputStream);
            HttpContext.Response.End();
        }

    }
public void导出()
{
string CIRCLE=Request.Form[0];//Request.Form[“circleidSignOff”]
字符串HOTODATE=Request.Form[1];
如果(圆圈=“GJ”)
{
CIRCLE=“古吉拉特邦”;
}
字符串strCircleHotoDate=CIRCLE+“”+HOTODATE;
字符串strSignOffSheet=CIRCLE+'.'+HOTODATE+.pdf”;
文件pdfDoc;
pdfDoc=新文档(PageSize.A4、10f、10f、10f、10f);
MemoryStream ms=新的MemoryStream();
PdfWriter PdfWriter=PdfWriter.GetInstance(pdfDoc,ms);
SignOffAttrPDF ObjSingOffPDF=新的SignOffAttrPDF();
ObjSingOffPDF.Circle=圆;
ObjSingOffPDF.HotoDate=HotoDate;
pdfWriter.PageEvent=ObjSingOffPDF;
pdfDoc.Open();
string outXml=string.Empty;
字符串mon=“”;
CLSFilter ObjCLSFilter=新的CLSFilter();
字符串[]蒙塔里={“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”};
int month=Array.IndexOf(monthArray,HOTODATE.Split(“”)[0]);
如果(第0个月)
{
ObjSingOffPDF.CreatedDateTime=DateTime.Now.ToString();
使用(StreamReader=newstreamreader(HttpContext.Server.MapPath(“~/exportopdf.html”))
{
outXml=reader.ReadToEnd();
outXml=outXml.Replace(“{CIRCLE}”,CIRCLE);
outXml=outXml.Replace(“{SP_NAME}”,圆圈);
outXml=outXml.Replace(“{INVENTORY\u FOR}”,strDate);
对于(int i=0;i”;
string[]pages=outXml.Split(分隔符,StringSplitOptions.None);
int intPageCounter=0;
foreach(页面中的字符串页面)
{
//List htmlaraylist=HTMLWorker.parsetList(新建StringReader(第页),空);
List htmlaraylist=XMLWorkerHelper.ParseToElementList(outXml,null);
如果(intPageCounter>0)
{
pdfDoc.NewPage();
}
pdfDoc.SetMargins(20,20,60,40);
for(int k=0;k0)
{
foreach(FileInfo中的FileInfo项)
{
zip.AddFile(item.FullName,“文件”);
}
}
}
Stream Objstream=新内存流(ms.ToArray());
Seek(0,SeekOrigin.Begin);
邮政补遗(strSignOffSheet,Objstream);
HttpContext.Response.Clear();
HttpContext.Response.BufferOutput=false;
string zipName=string.Format(“Zip{0}.Zip”,CIRCLE+“{0}+HOTODATE);
HttpContext.Response.ContentType=“应用程序/zip”;
HttpContext.Response.AddHeader(“内容处置”、“附件;文件名=“+zipName”);
Save(HttpContext.Response.OutputStream);
HttpContext.Response.End();
}
}

如果您使用的是MVC,则可以在cshtml中使用此代码

<tbody>
  @foreach(item in dt.Rows) {
  <tr>
    <td align="center" width="4%">@item.SR_NO</td>
    <td align="center" width="19%">@item.MAINTENANCE_POINT</td>
  </tr>
  }
</tbody>

@foreach(数据行中的项目){
@项目编号
@项目1.维护点
}

更多详细信息:

如果您使用的是MVC,则可以在cshtml中使用此代码

<tbody>
  @foreach(item in dt.Rows) {
  <tr>
    <td align="center" width="4%">@item.SR_NO</td>
    <td align="center" width="19%">@item.MAINTENANCE_POINT</td>
  </tr>
  }
</tbody>

@foreach(数据行中的项目){
@项目编号
@项目1.维护点
}

更多详细信息:

您想要服务器大小的分页还是同时使用所有数据?@AbhishekPandey:是的,我希望服务器的所有动态数据都以HTML格式设置,并根据dt行生成其行您是否使用razor视图,如果是,则可以使用
@dtt.rows[I][“ITEM”]获取数据。ToString()
你可以将它包装成
tr>td
你使用的是asp.net MVC还是asp.net web表单?而且
tr>td
应该包装成
for loop
你想要服务器大小的分页还是所有的数据同时出现?@AbhishekPandey:是的,我希望服务器的所有动态数据都以HTML格式设置,并基于dt行生成其行。您是否使用razor视图,如果是,则可以使用
@dtdtdt.rows[I][“ITEM”].ToString()
获取数据,您可以将其包装为
tr>td<
<tbody>
  @foreach(item in dt.Rows) {
  <tr>
    <td align="center" width="4%">@item.SR_NO</td>
    <td align="center" width="19%">@item.MAINTENANCE_POINT</td>
  </tr>
  }
</tbody>