随笔分类 - ASP.NET
摘要:由于程序中,这个DataKeyNames名称是一个动态值,因此在html的GridView不能直接写成这样子asp:GridViewID="GridViewUnitCode"runat="server" DataKeyNames="xxx" ... 也就是说,html中的Gridview不能带DataKeyNames属性,如果写上了,就是写死了。在.cs中,Insus.NET是这样解决的。为GridView动态添加DataKeyNames属性并赋值,有一点需要注意的,就是它应该是在GridView绑定数据前时进行。下面两种顺序是正确的
阅读全文
摘要:今天审核自己以前写的程式,发现下面面这段代码,写得非常不理想,if层次太多,而且else也多。看过《重构》的人,都会认为那是有着很浓的坏味道。上面代码,它的意思是文本框的值变化而作出另一文本框TextBoxBankName显示。如果文本框的值不为空,去搜索数据记录,如果有记录,把BankName显示于TextBoxBankName内。其它一切条件,TextBoxBankName均为空。上面的代码是没有问题,是能正常运行,但它有很多坏味道,if与else层资多,现Insus.NET把它重构,让其更简洁明了。重构过之后,它的程式,先给TextBoxBankName赋值为string.Empty,第
阅读全文
摘要:搜索介面如下:程序中需要实现如上的一个搜索功能。[Option]有两个选项,说明结果需要一个Detail或Summary。这是二选一,而且必选一个。[By]选择是让用户填入用户信息,或是选择部门。 当用户选择用户选择,在下出现文本框,让用户填入用户名;当用户选择部门时,在下出现下拉列表,让用户选择部门。[DateTime]选择,也有两种情况选择,一个是选择年月份的,默认是当前年份,用户选择年份之后,选择月份; 另一个选择日期,当选择日期选项,在下出现两个文本框,可输入开始与结束日期的,也可以选择。分析,总共6个选择,2种结果,4个条件(用户,部门,日期或月份),因此将有8个参数,这个8个参数为
阅读全文
摘要:在开发的站点中,想实现一个搜索功能。由于需要放在站点的头部,这样的话,每一个网页都可以使用这个搜索功能。开发设计,就把这个搜索功能独立出来,写成一个用户控件(ascx),然后拉至母版(MasterPage)上,文本框内有使用Ajax自动完成扩展功能。满怀信心完成...效果如下:在网页运行时,发现文本框的自动完成的功能无效果!更多的AutoComplete 的实现,可参考:http://www.cnblogs.com/insus/archive/2013/03/28/2986217.html此实现只能在正常aspx网页正常运行。一旦移至用户控件之后,Autocomplete的功能,就随之消失。难
阅读全文
摘要:在系统中,有一个文本框,要求输入大写字母。但是用户不自觉,只好在程序来控制了。在网页中,拉一个TextBox控件:<asp:TextBox ID="TextBoxSeriesNumber" runat="server"></asp:TextBox>写Javascript脚本,可使用onkeyup事件,即时把字母转换为大写字母:View Code <script type="text/javascript"> window.onload = function () { ...
阅读全文
摘要:以前写Ajax 的AutoCompleteExtender功能,都需要写WCF Service或是Web Service数据源。但一个系统中,很多文本框都想使用AutoComplete的功能。我们不可能写很多的Service,比如一些较小的数据。我们是否有一个可替换的方法呢?这是肯定的。下面的演示,Insus.NET以不用写Service来实现文本框的AutoCompete extender功能。首先从数据库获取数,你可以写SQL语句,或是写存储过程,以下是获取域用户信息,仿Outlook输入收件人效果。获取域信息,可参考:http://www.cnblogs.com/insus/archiv
阅读全文
摘要:如写企业内网的应用程序时,会经常需要访问域活动目录信息。下面表格是域活动目录(Active Directory) 属性以及说明。LDAP Property NameDescriptionData TypegivenNameFirst NameStringinitialsInitialsStringsnLast nameStringdisplayNameDisplay nameStringdescriptionDescriptionStringphysicalDeliveryOfficeNameOfficeStringtelephoneNumberTelephone numberStringot
阅读全文
摘要:怎样将字符串<table><tr><td>123</td></tr></table>转为.cs页面中的HtmlTable,参考下图:有关此问题,微软已经提供了一个控件:<asp:Literal ID="Literal1" runat="server"></asp:Literal>可参考下动画视频,实现:
阅读全文
摘要:早上有分享《Repeater控件动态变更列(Header,Item和Foot)信息》 ,是动态变更一些列的内容。虽然它算不上是完全动态化,但它已经达到初期想要的效果。如果你稍有仔细,也能轻易把它弄出来。现另开一篇,Insus.NET不是重新另外写,而是想重构cs的代码,因为前一篇的代码虽然简单,但代码冗余过多。重构开始:首先把这五个变量删除,因为在重构过程中,已经不需要这五个变量了。//宣告5个变量,将用来存储那5个月份每个部分的数量decimal c1, c2, c3, c4, c5;接下来需要改动的是宣告一个常量,很多地方使用到它:const int dynamicColumns = 5;
阅读全文
摘要:需求开发一个小报表,显示最近五个月的summary的数量统计,报表会随月份的变化而变化,如下图。第一列[Department]固定,第二至第六列,也就是说Nov 2012 这列会在下月的时候消失,其后的列会向前移,最后一列Mar 2013 会变为Apr 2013。下图中,最底一行是显示每一列的总数(除第一列外)。为了这个报表,Insus.NET决定使用Repeater控件来实现。难度在于动态显法第二列至第六列的列名,以及绑定数据。最后一行计算总计的,只要完成上面的动态绑定之后,也算不上问题,Repeater的FooterTemplate显示某列总计方法,可以参考这篇:http://www.cn
阅读全文
摘要:Insus.NET练习一个小功能,在Repeater的FooterTemplate显示某列总计,参考下图最底Highlight一行。Hightlight一行,前五列有合并。最后两列中,一列显示"Total" ,一列显示总计,文本右对齐。结合下图来参考:接下来是.cs的程序:
阅读全文
摘要:"我有一个站点,这个站点使用了masterpage,还两个用户控件(ascx),是拉至masterpage内的,一个是作为网页首(Header.ascx),另一个作为网页脚(Foot.ascx),现在的问题是怎样控制foot.ascx这个用户控件,一些网页需要显示这个用户控件,一些网页不想显示。“用友在昨晚使用Skype问及Insus.NET,需要寻求解决方案。Insus.NET在第一时间,让网友参考这篇:http://www.cnblogs.com/insus/archive/2012/02/22/2362830.html”你好,我情形跟你提供的参考不一样呀,你例子中的是两个母版页
阅读全文
摘要:当我们安装微软的软件,多数软件是需要输入license key。它有五个文本框,输入完第一个文本框之后,光标自动跳至下一个文本框。Insus.NET今天也使用asp.net来模仿一个。呵呵。这个演示,在输入时,是不需要与服务端交互,只有全部输入完毕之后,用户点铵钮才进行验证。因此在这里,写Javascript来实现即可。View Code <script type="text/javascript"> function JumpToNextTextBox(currentTxtBox, nextTextBoxID) { if (currentTxtBox.va..
阅读全文
摘要:Insus.NET在本次演示中,使用了接口(interface),在网页动态加载用户控件,并使用JQuery为来把网页处理的值传给用户控件。在面向编程中,Insus.NET较喜欢使用接口,认为它能为不同对象之间处理到相同的行为。ISetValableusing System;using System.Collections.Generic;using System.Linq;using System.Web;/// <summary>/// Summary description for ISetValable/// </summary>namespace Insus.
阅读全文
摘要:有一个程序,是记录公司域用户打印记录,它使用的是MS Access database(A服务器 32bit)。想以这些记录做一些Summary报表,报表实现是另外一台服务器Intranet web 服务(B服务器 64bit)。如查在非一台服务器读取远端的Access数据,也许需要数据库文件共享。网管说不能在服务器安装32 bit的Ole 驱动,不也能共享A服务器的Access数据库文件。Insus.NET需要怎样做? 只有想法是把这些记录每天定时转存一次至公司的数据库(MS SQL Server 2008 R2)(C服务器)。写一个控制台应用程序,放在Access数据库同一目录,然后让A服务
阅读全文
摘要:近段时间,有朋友叫Insus.NET了解一下反射(Reflection)方面的知识,反射提供了封装程序集、模块和类型的对象(Type类型)。可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。如果代码中使用了属性,可以利用反射对它们进行访问。下面的例子,是Insus.NET是练习对一个类别的属性进行set和get值。首先写一个类,再写一个可读写的属性:View Code using System;using System.Collections.Generic;using System.Linq;using System.Web;/// &
阅读全文
摘要:用户控件向网页传递值,方法非常之多,此博文尝试使用反射来实现。在站点中,建一个网页以及一个用户控件。 网页切换至设计模式,拉用户控件至网页上。Default.aspx:View Code <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><%@ Register Src="InsusUC.ascx" TagName="InsusU
阅读全文
摘要:几个页面(ASPX)都使用一些相同的控件,一个文本框,二个按钮(搜索和导出),为了以后好维护,Insus.NET把这相同的部分抽取放在一个用户控件(ASCX)上。现需要处理逻辑如下搜索事件处理的逻辑在各个页面处理。 问题是按钮在用户控件内,Click事件怎样写在各个页面上?每个页面的搜索结果不同的格式,因此把结果显示于各自的页面上。用户控件的导出默认是Enabled="false" ,当有搜索结果时,它才会变为true。 它怎样知道各个页面是否已经有了结果?用户控件的文本框的值,作为搜索条件,也就是每个页面的执行方法的参数。 aspx怎样获取用户控件ascx内的文本框的值?
阅读全文
摘要:网页ASPX有一个TextBox,另一个ASCX有一个ImageButton,用户点一点这个铵钮,把用户在TextBox输入的文字创建为一个图片,ASCX的ImageButton的ImageUrl重新指向这刚产生的图片。为了传值,写一个接口,返回aspx的TextBox函数:Itransmitableusing System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI.WebControls;/// <summary>/// Summary descr
阅读全文
摘要:Server Error in '/xxx' Application.There is not enough space on the disk. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: S
阅读全文