博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态生成页面(一)——ASP.NET中Literal使用
阅读量:6849 次
发布时间:2019-06-26

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

      在页面中加入内容时,假设是静态内容。无需使用容器,能够直接将标记作为HTML直接加入到页面中;可是,假设是动态内容,则必须借助容器将内容加入到页面中。典型的容器有:Label控件、Literal控件、Panel控件和PlaceHolder控件。

      一、控件选择:Literal

      Literal控件与Lable控件的差别在于,Literal控件不向文本中加入不论什么HTML元素;而Label控件呈现一个span元素。

      Panel和PlaceHolder控件呈现为DIV元素。这将在页面上创建离散块,与Lable和Literal控件进行内嵌呈现的方式不同。

      由于小编编码过程中须要直接将文本和控件直接呈如今页面中而不是用不论什么附加标记,所以果断选择了Literal控件。

      二、用法

      将“工具箱”的Literal控件拖拽到要加入动态内容的位置,执行时直接将代码赋给控件的Text属性。

      页面代码为:

    动态生成    

      三、依据数据库表内容创建动态页面

      1、业务逻辑

      将列表中“S_Edit_Visible”字段中值为1的字段动态显示在页面上

      2、详细代码

#region ToTable-拼接table表-2015年7月26日    ///     /// 拼接table表    ///     ///     public void ToTable(IList
model) { int num,i; bool evenFlag; StringBuilder sbTable = new StringBuilder("
"); //推断控件的奇偶数 if (model.Count % 2 == 0) { evenFlag = true; } else { evenFlag = false; } if (evenFlag) { num = model.Count / 2; } else { num = (model.Count - 1) / 2; } //直接载入偶数个 for (i = 0; i < num; i++) { int t = 2 * i; sbTable.Append("
"); sbTable.Append(soleCombin(model, t, true)); sbTable.Append(soleCombin(model, t + 1, true)); sbTable.Append("
"); } if (!evenFlag) { sbTable.Append("
"); sbTable.Append(soleCombin(model, model.Count-1, evenFlag)); sbTable.Append("
"); } sbTable.Append("
"); this.HideTable.Text=sbTable.ToString(); } #endregion #region soleCombin-单个组合控件-2015年7月26日 ///
/// 单个组合控件 /// ///
字段实体列表 ///
列表的第几行 ///
要载入控件是否两个一行:true。两个一行;false,单个一行 ///
public string soleCombin(IList
model,int i,bool evenFlag) { StringBuilder sbField = new StringBuilder(""); string Field; string Type = model[i].SFieldUitype; switch (Type) { case "String": //文本框类型 sbField.Append( ""); sbField.Append(model[i].SFieldNamecn ); //text名称 if (evenFlag) { sbField.Append("
"); //验证是否可为空 if (model[i].SFieldCannull == "1" || model[i].SFieldCannull == null) { sbField.Append("
*"); } sbField.Append(""); break; case "CheckBox": //复选框类型 sbField.Append( ""); sbField.Append(model[i].SFieldNamecn); //text名称 //推断是单列还是多列:evenFlag=true 是多列 if (evenFlag) { sbField.Append("
"); break; case "Radio": //单选框类型(待补) break; case "Seclect": //下拉框类型(待补) break; case "Date": //日期类型(待补) break; default: break; } Field = sbField.ToString(); return Field; } #endregion

      小结:选择何种容器来对动态页面进行载入,要结合实际情况。依据每一个容器的特点来选择。

转载地址:http://fzlul.baihongyu.com/

你可能感兴趣的文章
Ubuntu 外网不通解决方案
查看>>
OSChina 周六乱弹 —— 历史总是惊人的相似
查看>>
MySQL 大小写
查看>>
div块上下左右居中
查看>>
eclipse远程debug tomcat
查看>>
CentOs6.5基本环境配置(六):Maven配置
查看>>
Python 创建Django项目
查看>>
JS获取当前项目的根路径
查看>>
操作系统引导区代码
查看>>
程序员有五种错误不应犯
查看>>
无线认证知识点
查看>>
基于python的REST框架eve测试与mongodb的数据操作
查看>>
epoll模型的理解封装与应用
查看>>
Lync 2013部署图片赏析-证书服务安装配置
查看>>
HTML5 本地缓存 (web存储)
查看>>
tomcat redis session共享(包含redis安全设置)
查看>>
iptables中DNAT、SNAT和MASQUERADE的作用
查看>>
kvm命令学习记录
查看>>
小菜鸡进阶之路-First week
查看>>
ORACLE 10g SYSAUX表空间快速增长之WRH$_ACTIVE_SESSION_HISTORY篇
查看>>