zoukankan      html  css  js  c++  java
  • asp.net在Render中加载Html来动态生成或者修改页面

                有时候在项目中需要根据实际传过来的参数来生成不同个数的控件来摆放在页面上,这时候可以重写页面 Render方法来达到目的。

    下面提供一个示例来实现,代码如下:

    //生成要重写的html代码

    private string createInputItem()

    {

    if (Session["Count"] != null)

    {

    int icount = int.Parse(Session["Count"].ToString());

    StringBuilder sbHtml = new StringBuilder();

    #region Input Value

    for (int i = 1; i <= icount; i++)

    {

    sbHtml.Append("<tr align=\"left\"> ");

    sbHtml.Append("<td style=\"150px\" align=\"left\">");

    sbHtml.Append("Schacht " + i.ToString() + " SPN F001 ");

    sbHtml.Append("</td> ");

    sbHtml.Append("<td style=\"80px\" align=\"left\">");

    sbHtml.Append("<input name=\"txtSPNF001_" + i.ToString() + "\" type=\"text\" style=\"80px\" />");

    sbHtml.Append("</td> ");

    sbHtml.Append("<td style=\"30px\" align=\"left\">");

    sbHtml.Append("øC");

    sbHtml.Append("</td>");

    sbHtml.Append("</tr>");

    sbHtml.Append("<tr align=\"left\"> ");

    sbHtml.Append("<td style=\"150px\" align=\"left\">");

    sbHtml.Append("Schacht " + i.ToString() + " T001");

    sbHtml.Append("</td> ");

    sbHtml.Append("<td style=\"80px\" align=\"left\">");

    sbHtml.Append("<input name=\"txtT001_" + i.ToString() + "\" type=\"text\" style=\"80px\" />");

    sbHtml.Append("</td> ");

    sbHtml.Append("<td style=\"30px\" align=\"left\">");

    sbHtml.Append("øC");

    sbHtml.Append("</td>");

    sbHtml.Append("</tr>");

    sbHtml.Append("<tr align=\"left\"> ");

    sbHtml.Append("<td style=\"150px\" align=\"left\">");

    sbHtml.Append("Schacht " + i.ToString() + " T007,T009");

    sbHtml.Append("</td> ");

    sbHtml.Append("<td style=\"80px\" align=\"left\">");

    sbHtml.Append("<input name=\"txtT007_T009_" + i.ToString() + "\" type=\"text\" style=\"80px\" />");

    sbHtml.Append("</td> ");

    sbHtml.Append("<td style=\"30px\" align=\"left\">");

    sbHtml.Append("øC");

    sbHtml.Append("</td>");

    sbHtml.Append("</tr>");

    sbHtml.Append("<tr align=\"left\"> ");

    sbHtml.Append("<td style=\"150px\" align=\"left\">");

    sbHtml.Append("Schacht " + i.ToString() + " VM");

    sbHtml.Append("</td> ");

    sbHtml.Append("<td style=\"80px\" align=\"left\">");

    sbHtml.Append("<input name=\"txtVM_" + i.ToString() + "\" type=\"text\" style=\"80px\" />");

    sbHtml.Append("</td> ");

    sbHtml.Append("<td style=\"30px\" align=\"left\">");

    sbHtml.Append("øC");

    sbHtml.Append("</td>");

    sbHtml.Append("</tr>");

    }

    #endregion

    return sbHtml.ToString();

    }

    return string.Empty;

    }

    protected override void Render(HtmlTextWriter writer)

    {

    StringWriter sw = new StringWriter();

    HtmlTextWriter htmlWriter = new HtmlTextWriter(sw);

    base.Render(htmlWriter);

    string strTableTR = createInputItem();

    string html = sw.ToString() ;

    //将刚才生成的Html代码插入到页面中

    int startPoint = html.IndexOf("</table>", StringComparison.CurrentCultureIgnoreCase);

    if(startPoint > 0)

    {

    html = html.Insert(startPoint, strTableTR);

    }

    writer.Write(html);

    }

  • 相关阅读:
    ios 分享腾讯微博
    ios 分享微信
    elinput 价格校验 大于0保留2位小数,不包含01,01.1这种
    从范闲到许乐,从宁缺再到陈长生
    二进制流 ajax 实现图片上传
    php 操作redis 部分命令
    matlab 与vs2008联合编程的设置备忘
    新型机器人闯入职场:到底是工作缔造者还是工作终结者?
    c++ vs2008 多线程编程的样例
    虚拟试衣创业公司Fitiquette被印度电商Myntra收购
  • 原文地址:https://www.cnblogs.com/kevinGao/p/2192733.html
Copyright © 2011-2022 走看看