随笔分类 - ASP.NET
摘要:用户控件向网页传递值,方法非常之多,此博文尝试使用反射来实现。在站点中,建一个网页以及一个用户控件。 网页切换至设计模式,拉用户控件至网页上。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
阅读全文
摘要:"A用户控件有一个textbxB用户控件有若干Checkbox我要在B中选中若干 点击保存然后把checkbox的值赋给A中的Textbox"问题来自论坛。解决此问题,可以首先分析三者的职责,A用户控件,B用户控件以及B用户件的铵钮;如果更细一点来分析,A用户控件里的TextBox控件,此Textbox需要赋值,值从哪里来,它不用知道也无需知道。B用户控件里也有一个CheckBoxList控件,它只有数据,用户选择的值,将给谁,它也不知道,管不了。还有一个B用户控件的铵钮,铵钮将产生Click事件,它只管保存数据,把CheckBoxList选择的值,保存至TextBox。O
阅读全文
摘要:有在论坛看见一帖,《C#用什么方法可以减少或不使用switch》Insus.NET的解决方法,是使用工厂方法来处理,可以创建一个工厂接口,然后每个方法设计为一个工厂类,并实现工厂接口。工厂接口:IGetFactoryusing System;using System.Collections.Generic;using System.Linq;using System.Web;/// <summary>/// Summary description for IGetFactory/// </summary>namespace Insus.NET{ public inter
阅读全文
摘要:在开发asp.net程序时,用户的数据将保存至数据库,程序与数据库之间的数据操作,会涉及到往数据库添加数据,编辑数据,更新数据和删除数据等。本次Insus.NET介绍的是工厂方法,因此我们会从这几个操作入手。介绍工厂方法设计模式,得先从简单工厂设计模式(Simple Factory)开始,简单工厂,有一个操作类,这个类有一个virtual方法,好让其它子类继承与重写:Operationusing System;using System.Collections.Generic;using System.Linq;using System.Web;/// <summary>/// Su
阅读全文
摘要:生活在城市,平时少不了去餐馆吃饭。或是加班下班之后,难免吃上宵夜之后,才回家。在餐馆或是大排档坐下,老板一般都会在第一时间,给你上茶水以及菜谱(在此博文中,这是重点)。我们接过菜谱之后,都会把菜谱遍历一遍,不放过任一美味与自己喜欢吃的佳肴。遍历一遍,此就是一种开发的设计模式,叫迭代器设计模式。迭代器模式,它提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。我们接过菜谱,使用两眼从头至尾或是从后往前看。菜谱聚集结构提供了第一项,下一项,是否结束,当前是哪一项了,是不是自己需要点的菜式。因此我们提供一个迭代的抽象类:Iteratorusing System;using Sys
阅读全文
摘要:开发的设计模式,是博大精深的,只有一步一个脚印和循序渐进的学习与应用,才能有进步。近段时间,Insus.NET把自己理解设计模式,简单写了一下与分享自己的理解与想法。得到很多高手与网友的热心评论,让Insus.NET学习与进步不少,真心感谢了。前几天有写了一篇《烹饪,简单工厂(Simple Factory)》,一开始就创建一个"烹饪类",来负责创建其他类的实例。接下来创建炒,煎,煮,炖等类。今天,Insus.NET也是以烹饪来写一个建造者设计模式,烹饪是膳食的艺术。Insus.NET虽然不是厨师,但喜欢品尝各种美味的佳肴。此篇是介绍建造者设计模式,我们以烹饪的方式做一顿家常
阅读全文
摘要:Insus.NET在想,每在公司或是老板给自己发工资时,每个人都会重新计算一下自己的工资,是否正确。好象老板或是会计都会把自己的工资计错了似的。因此,每个都人都是工资计算高手。工资计算,需要知道基本工资是多少; 否有加薪,加薪方式,是按基本工资的百分比来加,还是由得公司或是老板随心而加,表现加多些,表现不好加少一些;是否有加班,加班的方式也要清楚,工作天加班,普通假日加班,或是法定假日加班;是否有补帖等等。每一种方式,在此也算得上是算法,完成的都是相同的工作,只是实现不同罢了。为了简化与分工,我们可以把每种算法写成一个独立的类,减少它们之间的耦合。每个算法,返回一个结果,因此可以写一个抽象类,
阅读全文
摘要:“烹”就是煮的意思,“饪”是指熟的意思,狭义地说,烹饪是对食物原料进行热加工,将生的食物原料加工成熟食品;广义地说烹饪是指对食物原料进行合理选择调配,加工治净,加热调味,使之成为色、香、味、形、质、养兼美的安全无害的、利于吸收、益人健康、强人体质的饭食菜品包括调味熟食,也包括调制生食。因此,我们产生...
阅读全文
摘要:一个研发公司就如外观设计模式,它有诸多开发团队(子系统),前端开发团队,程序开发团队,数据库开发团队,测试团队等等。为各个开发团队能高度协调,公司定义一个协调接口,使得各个开发团队更加协调。前端开发团队:FrontEndDevelopmentTeamusing System;using System.Collections.Generic;using System.Linq;using System.Web;/// <summary>/// Summary description for FrontEndDevelopmentTeam/// </summary>name
阅读全文
摘要:用简单的例子,说明代理(Proxy)设计模式。Insus.NET在家忙写程序没有时间,手机没钱了,叫儿子给一百元去超市(此超市有手机充值的服务)帮Insus.NET手机充值(话费)。手机充值的事,Insus.NET会做,儿子也会做,但是Insus.NET因某些情况,不能亲自办,叫儿子去代理(Proxy)。定义一个抽象类[Work],让自己或是儿子类别都能实现的充值方法:Workusing System;using System.Collections.Generic;using System.Linq;using System.Web;/// <summary>/// Summar
阅读全文
摘要:行为抽象即可写成接口(Interface)。如此http://www.cnblogs.com/insus/archive/2013/02/24/2924190.html链接的例子中的开与关,就可以把它们设计为抽象方法。我们宣告接口时,使用interface来声明,就如宣告类使用class一样。在编程规范中,使用字母"I"开头。接口中的所有签名,如方法,属性,索引器,事件等。不能带修饰符,比如public,private等,不能有任何实现内容,也不能声明虚拟(virtual)的或静态(static)的等。ISwitchableusing System;using System
阅读全文
摘要:平时在asp.net开发中,很少使用到抽象类,一个小小例子来学习一下。抽象类(abstract class),不能实例化,因此我们可以把不被实例化的类,宣告为抽象类。抽象类内包含了抽象方法(abstract void),它只能写在抽象类中,没有实现部分,只能在派生类重写(override)或实现。去年小新房装修,去了家居装饰城,看了各式各样的灯饰(实例),统称为灯(抽象)。下面的在抽象类Light中,有两个抽象的方法。Lightusing System;using System.Collections.Generic;using System.Linq;using System.Web;///
阅读全文
摘要:本博文,Insus.NET教你怎样显示非站点目录下的图片,你可以显示站点所在服务器所有驱动器目录的图片,以及映射网络磁盘路径的图片。下面举两个例子,一是显示D盘下图片,另一个例子是显示映射网路路径图片。最实用于在企业内部,经常性需要临时显示图片,但用户不想上传大量图片,而是放置在某一台工作站上。因此需要映射路径即可,或是直接拷贝至服务器某一驱动器之下即可。下面例子是显示映射网络磁盘目录图片:你可以创建一个ashx 文件来处理图片(核心代码):ShowOutSiteImage.ashx<%@ WebHandler Language="C#" Class="In
阅读全文
摘要:前天有一网友问及有关设计模式的适配器模式(Adapter)时,说不太好理解。让Insus.NET能否举个简单的例子来说明一下。下面的动画是Insus.NET做出来的效果:上面的演示,两个灯的规格一样,要求输入的电压为15伏。Light1是直接使用,而Light2是使用Adapter(电源适配器)。因此Light1只能接收15伏的电压,小于15伏,会提示电压过低,如果超过了15伏,Light1肯定被烧坏。Light2使用了电源适配器,它接收15伏至220的电压,在这电压范围之内,电源适配器会把电压转为15的电压。小于15伏,会提示电压过低,如果超过了220伏,适配器被烧坏。好,我们程序开始,先创
阅读全文
摘要:本博文是让你学会读取站点某一目录的图片,掌握LINQ与泛型Dictionary<TKey,TValue>的使用。首先准备好几张图片存在站点某一目录之下,本例中的存储图片的目录名为MsSiteImages,图片你可以从微软网站下载http://windows.microsoft.com/en-US/windows/home我们写一个泛型数据集,将存储目录的图片信息:View Code private Dictionary<int, string> GetData() { Dictionary<int, string> dic = new Dictionary&
阅读全文
摘要:Asp.net开发要求,就是用户控件(UserControl)是集成一个功能,需要处理好的数据,然后存数据库中并显示于网页上,让用户能检测到处理的数据情况。本演示中,Insus.NET只是作了一个简单的举例而已,并应用了委托来实现。为了让大家更能理解,可以先看看操作动画演示:在你新建一站点上,创建一个PageB.aspx网页以及UcB.ascx用户控件,在UcB.ascx上拉一个TextBox和CheckBox以及Button控件:UcB.ascx<%@ Control Language="C#" AutoEventWireup="true" Co
阅读全文
摘要:通用的检查方法。首先定义好有效的文件扩展名,存放在阵列中。在JavaScript获取FileUpload控件的文件路径,并取得路径中的文件扩展名。再与阵列中的扩展名比较,如果存在,说明上传的文件是有效的,反之无效。 <asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="btnUpload" runat="server" Text="Upload" OnClientClick="return
阅读全文