File 与 Log #3--动态加入控件,[图片版]访客计数器(用.txt档案来记录)
以前的两篇文章(收录在书本「上集」的第十七章)
请看「ASP.NET专题实务」,松岗出版
File 与 Log #1--ASP.NET的档案与I/O Stream(为系统记录Log文件)
File 与 Log #2--[图片版]访客计数器(用.txt档案来记录)
现在这么多免费资源,应该也没人得自己制作「访客计数器」了
这个范例的结果或许不合用,但其中实作的经验倒是很有趣
读者来信询问:
上述第二个范例,如果改用 Image控件(<asp:Image>)而且在后置程序代码撰写,该怎么做?
其实很简单,只不过是「动态加入控件」而已
您可以在我书本「上集」第三章的 PlaceHolder控件 或是书本「下集」找到不少范例
用程序代码动态加入Web Form控件,加入ASP.NET网页
只要写成 Page.Form.Controls.Add()即可。
动态加入列表控件的「子选项」,例如:单选 DropDownList 或是 复选CheckBoxList
-- 列表控件ID.Items.Add()
[习题]动态新增 DropDownList或 ListBox底下的新项目(Item)#1
动态加入HTML卷标的属性(attribute)
-- XXX.Attributes.Add("属性名称", "值")
[习题]GridView 光棒效果 与 JavaScript -- e.Row.Attributes.Add()方法
上述三者的程序是否很相似呢?
上一个范例,仍使用传统HTML的 <img>标签
假设目前的访客数是 1234,那么我们输出时,要先从最后一个 "4"输出,然后输出 "3" .....
简单的说,就是把结果「反过来」、一个一个地地对应到这个数字的「图片」,输出到画面上
上面这种作法,有个好处:当您的数字从 999
要提升到四位数 1000的时候,不需要额外的判断式与程序代码去防呆
但是,如果改成 <asp:Image>控件,那就不同了!
因为我们在后置程序代码动态加入控件,所以必须「循序」输出,从头到尾循序输出
假设目前的访客数是 1234,那么我们输出时,要先从第一个 "1"输出,然后输出 "2" .....
另外这个范例还发现另一个缺失,就是「读取」文本文件时,太晚关闭资源
如果程序有错,就会锁住这个 .txt档案,无法释放。
建议把关闭&释放资源的程序向上移动
读取完,不用了就立刻关闭、释放。
相关文章:动态加入控件
[转贴]ASP.NET动态加入控件
[习题].FindControl()方法 与 PlaceHolder控件 #1(动态加入「子控件」,因Page_Load而发生的错误)
其实动态加入 Web Form控件并不难,
大部分的人是卡在「动态加入控件了,但用户输入的值,后置程序代码却抓不到」 :-)
可以参考这三篇文章,从这一篇开始:
自动化投票区、网络问卷、问卷调查,如何规划与设计?#1(观念篇)......考验初学者能力的一门课
File 与 Log #3--动态加入控件,[图片版]访客计数器(用.txt档案来记录)的更多相关文章
- winform导入导出excel,后台动态添加控件
思路: 导入: 1,初始化一个OpenFileDialog类 (OpenFileDialog fileDialog = new OpenFileDialog();) 2, 获取用户选择文件的后缀名(s ...
- Android 在布局容器中动态添加控件
这里,通过一个小demo,就可以掌握在布局容器中动态添加控件,以动态添加Button控件为例,添加其他控件同样道理. 1.addView 添加控件到布局容器 2.removeView 在布局容器中删掉 ...
- android动态增加控件时控制样式的方法
在学习android的动画时,发现所谓的tween动画只是改变绘制效果并不改变原控件的位置时是颇为失望的,虽然3.0之后已经有了property animation,但是由于要兼容老版本的androi ...
- VC中动态添加控件
VC中动态添加控件 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件: 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立一个 ...
- jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法
博客分类: jquery-easyui jQueryAjax框架HTML 现象: AJAX返回的html无法做到自动渲染为EasyUI的样式.比如:class="easyui-layout ...
- 小子给大家分享一个或者多个新手创建tableview经常会遇到的坑(动态创建控件,xib的重用)
小子最近做了一个根据接口返回的数据在Cell中动态创建控件,感觉应该会一部分人卡在这里,小子就跟大家分享一下: 1.控件重复创建:这个问题出现的原因是动态创建的cell内容的时候,无法进行重用设置,所 ...
- VisionPro笔记(1):动态创建控件
VisionPro学习笔记(1):动态创建控件 有的时候可能需要在程序中动态创建控件,VisionPro实例中提供了一例动态创建Blob控件的方法.当然,动态创建过多的控件会极大的消耗系统的资源,建 ...
- asp.net动态添加控件学习
看了老师的教程后,自己一点感悟记录下来: 1.在页面提交后,动态生成的控件会丢失, 但如果生成控件的代码在pageload中,就可以,原理是每次生成页面都执行生成. 2.动态按件或页面原来控件, 在页 ...
- Jquery 动态追加控件并获取值
先展示通过动态添加控件的结果: 实现步骤: 1.引用js文件 <script src="Script/jquery-1.5.1.min.js" type="text ...
随机推荐
- 【mysql--sql语句小问题总结】
1:查询过滤条件不为空: <select id="getActivityByIdAndEx" resultMap="BaseResultMap" > ...
- php用百度地图API进行逆地址解析
<?php /** * 根据地理坐标获取国家.省份.城市,及周边数据类(利用百度Geocoding API实现) * 百度密钥获取方法:http://lbsyun.baidu.com/apico ...
- 使用imp命令和exp命令对oracle数据库进行导入导出操作
命令说明 imp命令和exp命令需要在cmd命令窗口下执行,并且需要在系统环境变量中配置imp,exp命令所在目录 导出命令 --全库导出 exp system/systempassword@orcl ...
- Spring MVC 基于URL的映射规则(注解版)
好几天没有跟进Spring MVC的学习了,之前看了点源码都忘的差不多了.这次就跟着之前的问题,继续总结下Spring MVC中的小知识. 关于SpringMVC的小demo可以参考这里! url-p ...
- Kotlin VS Java:基本语法差异
Kotlin比Java更年轻,但它是一个非常有前途的编程语言,它的社区不断增长. 每个人都在谈论它,并说它很酷. 但为什么这么特别? 我们准备了一系列文章,分享我们在Kotlin开发Android应用 ...
- scrapy框架爬取蜂鸟网的人像图片
今天有点无聊,本来打算去蜂鸟网爬点图片存起来显得自己有点内涵,但是当我点开人像的时候就被里面的小姐姐所吸引了,下面就是整个爬图片的思路和过程了 第一步:先创建一个爬虫项目 scrapy startpr ...
- mac上gradle升级版本
参考:https://www.jianshu.com/p/9fa9d2b4dbc9 http://www.gradle.org/downloads下载gradle 终端输入:open .bash ...
- 洛谷P1967 货车运输
题目描述 \(A\)国有\(n\)座城市,编号从\(1\)到\(n\),城市之间有\(m\)条双向道路.每一条道路对车辆都有重量限制,简称限重.现在有\(q\)辆货车在运输货物, 司机们想知道每辆车在 ...
- Jmeter_拦截Excel文件输出流到本地
一般而言,对于页面的“导出”操作,主要经历如下两个操作:①根据数据库的内容,将文件导出到应用服务器上:②将服务器上的文件下载到本地电脑: Jmeter同LoadRunner类似,只能记录服务端与客户端 ...
- CentOS6.x之emacs安装配置编译
刚开始学习linux,干学没什么意思,想在linux下写写程序,了解到linux下使用较多的是emacs和vim,在youtobe上分别看了看这两个工具进行开发的视频,个人感觉emacs比较酷一点,所 ...