博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net在Render中加载Html来动态生成或者修改页面
阅读量:4659 次
发布时间:2019-06-09

本文共 2853 字,大约阅读时间需要 9 分钟。

            有时候在项目中需要根据实际传过来的参数来生成不同个数的控件来摆放在页面上,这时候可以重写页面 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=\"width:150px\" align=\"left\">");

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

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

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

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

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

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

sbHtml.Append("øC");

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

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

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

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

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

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

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

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

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

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

sbHtml.Append("øC");

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

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

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

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

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

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

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

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

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

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

sbHtml.Append("øC");

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

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

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

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

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

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

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

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

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

sbHtml.Append("<td style=\"width: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);

}

 

转载于:https://www.cnblogs.com/kevinGao/archive/2011/09/26/2192733.html

你可能感兴趣的文章
STM32一键下载电路设计原理
查看>>
C语言中函数返回字符串的四种方法
查看>>
10月区块链领域投融资事件盘点
查看>>
Mybatis缓存策略
查看>>
卷积的意义【转】
查看>>
android图形系统详解五:Android绘制模式
查看>>
[剑指offer] 23. 二叉搜索树的后序遍历序列
查看>>
canvas绘画交叉波浪
查看>>
Linux 内核分析
查看>>
试一下:XP ( SP2 ) 本身就支持查杀流氓软件!
查看>>
centos6(7) minimal 基本环境配置
查看>>
P2837晚餐队列安排
查看>>
DP专题
查看>>
UVa 1402 Runtime Error 伸展树
查看>>
笔记本安装SSD固态硬盘详细的优化设置
查看>>
批处理语法介绍
查看>>
FFmpeg 基础库(三)模块组成
查看>>
Linq 查询 与方法调用
查看>>
iOS开源项目(旧)
查看>>
winform的datagridview控件滚动更新数据
查看>>