随笔分类 - ASP.NET
摘要:有网友在问,C#读取同一文件夹下多个txt文件中的特定内容,并把各个文本的数据做统计。昨晚Insus.NET抽上些少时间,来实现此问题,加强自身的功力。先是准备好几个文本文件。第一个文本文件t1.txt:Money of Xiaohong(this year) 12Money of Xiaoma(Last year) 13sdfgsdMoney of Xiaoqiang(this year) 16Money of Xiaogang(Last year) 1445685221, 82684View ...
阅读全文
摘要:双在论坛上找到一个问题,有关读取txt里面的数据进行计算的问题。尝试解决这个问题,获取每一行的X和Y的浮点数据即可。读取文本文件每一行,判断是否为空行,是否符以分隔符号(,)分隔的两个数值。每个数值是double类型的,就是我们需要获取的数据。先把这些数据,存储于一个文本文件内,文本名为data.txt 1169.868592016381,-73.2891742320069169.388181055691,-73.5364222712322169.750305089806,-73.6008442380541169.918029151954,-73.5541793331424169.868592
阅读全文
摘要:问题来自论坛,网友问到,去读取一个文本文件(TXT),去统计重复的文本行,然后按照重复的次数从高至底进行排序。Insus.NET实现的方法,先是创建一个对象,处理文本文件第一行。再创建别一个类别,来处理每一个对象,并做要求所需的分析。第一个对象为:另外一个对象:上面的InsusHelper类别中,两个public方法和一个private 。后者是为了封装,计算方法,而前两者是让用户在使用这个对象,能够获取统计记录,还能重写ToString()方法。好的,我们来看看程序应用。最后是程序运行效果:
阅读全文
摘要:网友在问,从一个文本文件(txt)读取数据,并做简易算法。网友的原问题大约如下,网友的问题,虽然说是全部是数字,但没有说明是否只有一行。因此Insus.NET在实现算法时,处理文本文件是否多行,是否为全部数字,是否带在空行,某一行是否只有一个数字,分隔符是否在前面,或是在后面。因此Insus.NET提供上面所提及条件因素的文本文件作为算法对象:OK,Insus.NET还是较喜欢创建对象来处理这些问题,由于文本文件是以行来存储,因此就把行作为对象来处理。逻辑处理:接下来,Insus.NET写一个数字的类别,就是用来处理每行中每个分隔符(,)之间的数字。还要创建一个类别,是获取所有符合条件的数字。
阅读全文
摘要:近段时间,Insus.NET学习练习物件与对象,怎样创建实际环境中的对象。对读取文本文件以及分析文本文件作为目标。因此搜索论坛一些例子,就如下面这题,实现的方法分享给大家。以文本行作为一个对象,所以我们可以写一个以[Computer]为对象的类,先判断是否为空(#72),#73,#74两行,以空格为分隔符,把一句分成两节。再创建一个集合处理的类别:现在我们可以处理文本文件了,根据条件,输出:网页运行效果:
阅读全文
摘要:看过此篇《ASP.NET网页动态添加数据行》 http://www.cnblogs.com/insus/p/3247935.html的网友,也许明白Insus.NET是怎样实现动态添加数据行的功能。其实也没有动态添加,只是使用另外一种方法,添加一些临时记录,再使用GridView控件来显示这些记录而已。在演示中,只是实现添加,没有实现更新数据,删除数据等功能。 再加上有网友看到后,在评论中提出另外的要求,要有记录统计功能。因此Insus.NET再列举另外相似的例子,来完善这些功能。比如数据库的表有这些字段[Goods_nbr],[Goods_Desc],[Units],[Price],[Qua
阅读全文
摘要:一看到这标题《ASP.NET网页动态添加数据行》,想起来似乎有点难实现。因为网页的周期性原因,往往在PostBack之后,状态难于有所保留。但Insus.NET又想实现这样的效果,用户点击网页上的“添加”铵钮,能不停地添加数据行在网页上。有关相似的功能,Insus.NET也有实现过,如:《第二次动态产生铵钮的Click事件》http://www.cnblogs.com/insus/archive/2012/10/09/2717420.html《点击一次铵钮产生一个新文本框,分别输入值,然后获取》http://www.cnblogs.com/insus/archive/2012/09/24/27
阅读全文
摘要:有机会看到有网友在论坛上发出问题:在网页上的铵钮执行之后,动态加载的用户控件,如果没有处理好,会在子用户控件的铵钮被执行时抛弃。因此我们需要着重需要处理的关键点。同相子用户控件在动态加载之后,它的状态也需要保持,不然在传值给另一个子用户控件时,也会被抛弃。另一个关键点,就是子用户控件,怎样传值给另一个用户控件。弄清楚技术关键点之后,一切都好办。在网站上,创建一个网页Default.aspx,两个用户控件UcA.ascx和UcB.ascx在Default.aspx:去UcA.aspx去UcB.aspx所有网页与用户控件的html代码均完成。UcB.aspx.cs需要获取一个值,这个值是从哪里来,
阅读全文
摘要:有一网友要求从txt文本文件读取一些数据,然后组合为特定格式的数据行。原论题如下,刚才开始的要求描述得不太清楚,后来补充完整了。Insus.NET觉得本论题可有练习文本件读取功力,因此尝试实现一下。方法也许不是最好的。首先创建一个类,专门用来处理文本文件每一行文本的。 由于每行文本将分割为两段,因此宣告两个属性来存储。静态的TryParse()是判断是文本行是否符合要求。空行不处理,不是空行的,一定为3个空格。然后把第一段赋值给第一个属性E1,把第二和第三段组合再赋值给第二个属性E2。最后是再写override ToString()方法。接下来,我们开始处理文本文件,先是获取文本文件的物理路径
阅读全文
摘要:问题来自,基本要求是对文件行做一些特定排序。解决问题,是首先读到文本文本所有行,进行分析,然后再对其排序,写重写回文本文件。在下面的演示中,Insus.NET略过重写成文本文件,只是在页面输出。准备好一个文本文件ds.txt,内容跟网友大约一样。Insus.NET先写一个对象,即是处理文本文件每一行,把每一行转换为一个对象。 下面的类别中,有一个方法TryParse()是为了判断文本行是否符合分析数据的要求。让类别在应用时,获取到正确的冒号(:)前后值。下面是读取文本文件,获取所有行,并做排序:也就是说,当输出第二行时,改为输出第三行,同理,在输出第三行时,改为输出第二行,其余的,按正常顺序输
阅读全文
摘要:本博文,Insus.NET教你动态实现变更Repeater控件HeaderTemplate列名。一般情况之下,是不需要动态变更,只有动态有Repeater控件不变情况之下,来显示多种数据源进行绑定。这样就得动态变更HeaderTemplate列名,甚至还要动态变更ItemTemplate内的行或列信息。在实现这个功能之前,我们得先准备好常规的Repeater控件的显示,与数据绑定。在网页中,写好Repeater:去.aspx.cs为Repeater控件绑定数据源:网页浏览一下看看效果:Ok,下面我们来实现动态显示HeaderTemplate的信息,为了能动态呈现,得修改一下html的代码:Co
阅读全文
摘要:刚才在论坛上看到一个问题,其中网友有帖出一个方法,如下。过多的代码冗余过多的if判断。下面Insus.NET按照自己的相法与习惯,重构这个方法,希望代码冗余的地方,能够简化,需要封装的地方,把它们封装。第一步,大家可以看到每个if判断块内,都有一句:fileUpload.PostedFile.SaveAs(myDicPath + "\\" + fileName);结果如下,冗余的都被Insus.NET comment out了,只留下Highlight的一句:第二步,我们又看到每个if判断块内,都有两句代码,是判断目录是否存在,如果不存在,创建目录的。 if (!Direc
阅读全文
摘要:Insus.NEt曾经有写过一篇《Repeater控件最后一笔记录高亮显示》 ,它的实现是先宣告一个页面级的变量,然后在Data_Binding()方法内获取数据源的记录总数。本篇是的重点,就是改变前一篇的写法,不必宣告一个页面级的变量,而是直接在OnItemDataBound事件获取。先看.aspx:去.aspx.cs写code behind代码:上图中的#35行代码,是把sender对象转换为Repeater控件。#37行代码,是把Rpt.DataSource转换为DataTable,为什么要转换为DataTable对象,而不是其它类型的数据集? 因为在Data_Binding()中给Re
阅读全文
摘要:前天Insus.NET实现《动态合并GridView数据行DataRow的列》。今天再玩玩Repeater控件,功能也是动态合并某列栏位。Repeater控件跟GridView控件一样集成度高,越是自由与松散的,在合并时,越是不好控制。我们在网站上,创建一个网页,拉Repeater控件至网页:去.aspx.cs为Repeater控件绑定数据,数据库表格,存储过程,以及连接数据库获取数据,在此不提供。浏览效果:OK,我们开始实现合并数据列,博文开始有提及,由于Repeater控件与GridVeiw控件有很大不一样,合并方法也没有什么参考可言。但有一点是相同的地方,合并的事件还是有ItemCrea
阅读全文
摘要:前段时间,Insus.NET一直在演示GridView控件Header头行或列:《动态变更GridView控件列名》和《动态合并或定制GridView控件Header头某些列》,现今想演示合并Gridview的DataRow中的列。其实合并列也不是什么复杂的问题,只想明白其中的原理,就觉得简单至极。 数据库方面的准备,在此例中略过。在站点创建一个网页,拉GridView控件到.aspx网页中,并用自定义模版显示数据。如下:去.aspx.cs的code behind写数据绑定代码:网页在浏览时,会看到下面的效果:看到否,上图中第二列,有很KindName的相同的,为了界面简洁与清晰,Insus.
阅读全文
摘要:星期天的C# 练习内容,加强锻炼for功能应用,找出1至10范围奇数。Insus.NET想起了能用两种方法来实现,方法分别列举一个例子操作。第一种方法,你可以使用for与%(mod)的方法来实现。另种一种方法,可以使用下面程序处理,而且还可以去除if的判断。不管是第一种,还是第二种方法运行结果:总结,第二种方法,仅能应用在于初始值为奇数,才可以适用。而第一种却没有这些限制,算是万能型,可以适用任何奇偶数开始。
阅读全文
摘要:几年前,Insus.NET有尝试把Array转换为IList接口,然后使用IList.Contains()方法。当时评论时,也引起了一些异议。原博文地址:http://www.cnblogs.com/insus/archive/2011/12/16/2290093.html今天Insus.NET在学习MSDN时,重新看到此问题,原来Array在.NET Framework 3.5之后,已经显式实现IList接口,如果在此或更新的.NET Frameork版本,是直接可以直接使用这个方法。当时的测试环境,还是在.NET Framework3.5前些版本,只有手动实作这个IList接口。下面我们来
阅读全文
摘要:有一个功能,就是让用户输入颜色,作为一个参数。但我们要怎样做验证呢?让输入的字符串是能让系统识别的颜色名称呢?用户有可能输入:"blue" --> color name"#ff0000" --> html"100, 149, 237" --> rgb: red, green, blue"0xFF00" 或"36095" --> Fromole"14822282" --> FromWin32下面Insus.NET在网页上,拉一个TextBox,然后
阅读全文
摘要:开发时,有时会对GridView控件头做一些字段合并。多行表头,多列合并,明白了其中的原理,实现起来,均能运用自如。下面Insus.NET分享自己的做法。创建站点,创建aspx网页,拉GridView控件。去.cs先为GridView绑定数据:OK,上面的程序运行时效果:如果你有看过http://www.cnblogs.com/insus/p/3232057.html这篇,多少会明白,怎样动态变更GridView Header列信息。因此,Insus.NET还是参考此篇来修改,实现此篇的要求。学会简单的,稍复杂的一样可以做得出来。接下来,我们先去.aspx 网页,在GridView控件,添加一
阅读全文
摘要:近段时间,确是很多专案要写,客户的个性化要求也越来越多。举个例子吧,就是从数据库取出来的字段名,在显示在GridView时,需要全部更为另外一个名称。下面的样例,并非是专案的内容,而是Insus.NET为了演示,而使用相似的数据而已。首先在站点的网页上创建一个网页,并拉GridView控件入网页中,下图蓝色下划线的,就是原本显示的字段名。在.cs中的:OK,上面的程序运行时效果:现在,我们就要动态更改上图中黑体字体的列名,分别为ID,Kind Name和Fruit Name。改为什呢,这要看客户的真正要求了。它总共有3列。因此我们得定义好3列的Field名称,一一对应,并放在一个阵列中。str
阅读全文