代码改变世界

动作过滤器

2012-09-29 11:41 by yezhi, 513 阅读, 0 推荐, 收藏, 编辑
摘要:动作过滤器是可用于修饰动作方法和控制器的自定义特性。框架将在执行动作之前或者之后执行动作过滤器中的逻辑。在典型的asp.net mvc应用程序中,动作负责处理用户发起的请求。用户单击按钮或提交表单,请求即被发送并通过路由逻辑路由至特定的控制器,最后执行特定的动作。但有时可能希望在动作执行之前执行某些代码,例如验证是否允许当前用户执行某个操作,或者添加日志或错误处理。另一种通过使用过滤器可以变得更容易的情况是使用用于显示数据的页面时。以下摘自msdn:http://msdn.microsoft.com/zh-cn/library/gg416513(v=vs.98).aspxASP.NET MVC 阅读全文

[转]Simple jQuery Delete Link For ASP.NET MVC

2012-09-26 23:04 by yezhi, 265 阅读, 0 推荐, 收藏, 编辑
摘要:In a recent post,Stephen Waltherpointed out the dangers of using alink to delete data. Go read it as it provides very good coverage of the issues. The problem is not restricted to delete operations.Any time you allow a GET request to modify data, you’re asking for trouble. Readthis storyabout someth 阅读全文

Html Helpers BulletedList

2012-09-26 22:21 by yezhi, 281 阅读, 0 推荐, 收藏, 编辑
摘要:public static string BulletedList(this HtmlHelper helper, string name) { var items = helper.ViewData.Eval(name) as IEnumerable; if (items == null) throw new NullReferenceException("Cannot find " + name + " in view data"); var writer = new HtmlTe... 阅读全文

Html Heplers PagedList

2012-09-26 22:12 by yezhi, 306 阅读, 0 推荐, 收藏, 编辑
摘要:Pagingpublic class PagedList<T> : List<T> { public PagedList(IEnumerable<T> items, int pageIndex, int pageSize, int totalItemCount, string sortExpression) { this.AddRange(items); this.PageIndex = pageIndex; this.PageSize = pageSize; this.S... 阅读全文

[转]ASP.NET MVC - Creating a DropDownList helper for enums

2012-09-26 10:46 by yezhi, 701 阅读, 0 推荐, 收藏, 编辑
摘要:Do the types you work with in yourASP.NET MVCmodels ever have enums? Mine do from time to time and I’ve found myself needing to render a dropdown list to allow the user to select the enum value.For the purposes of this post, I will be working with a Person class and a Color enum (I’ll direct you to 阅读全文

HttpWebRequest POST Data

2012-09-02 23:00 by yezhi, 278 阅读, 0 推荐, 收藏, 编辑
摘要:private string HttpPostRequest(string url, Dictionary<string,string> postParameters){ string postData = ""; foreach (string key in postParameters.Keys) { postData += HttpUtility.UrlEncode(key) + "=" + HttpUtility.UrlEncode(postParameters[key]) + "&"; } HttpWeb 阅读全文

控制器、视图

2012-08-31 00:34 by yezhi, 335 阅读, 0 推荐, 收藏, 编辑
摘要:控制器是各种操作的协调器,是位于模型与视图之间并在这两者之间传递数据的组件。控制器的主要作用其实协调最终用户和应用程序。控制器必须执行的任务是获取和验用户输入,将所有复杂的操作(业务逻辑规则和数据访问)委托给模型,并且在结果返回时确定使用哪个视图进行显示,并将数据传递所选择的数据。控制器包含的内容越少越好,而将所有复杂的业务逻辑、数据访问以及数据操作都留给模型去处理。(MVC应用程序必须具有内容丰富的模型和内容少的控制器、以及一个哑视图)。控制器类的唯一目的是作为动作的容器,是负责处理请求的地方。动作只是一个可以任意数量参数的公共方法,参数的数量可以零到多个,并且通常会返回System.Web 阅读全文

另一种将线程并入应用程序的方法-委托

2012-04-28 16:18 by yezhi, 641 阅读, 0 推荐, 收藏, 编辑
摘要:委托的同步声明一个委托:public delegate int BinaryOp(int x, int y);BinaryOp编译后,其所属程序集将包含一个根据委托声明动态生成的类的定义,将会生成如下三个方法: | | |___[MET] BeginInvoke : class [mscorlib]System.IAsyncResult(int32,int32,class [mscorlib]System.AsyncCallback,object) | | |___[MET] EndInvoke : int32(class [mscorlib]System.IAsync... 阅读全文

进程、应用程序域、上下文及线程之间的关系

2012-04-28 16:16 by yezhi, 661 阅读, 0 推荐, 收藏, 编辑
摘要:线程和进程在计算机科学中,“线程”和“进程”是两个相关的概念。二者都表示必须按特定顺序执行的指令序列。但是不同线程或进程中的指令可以并行执行。进程存在于操作系统内,并对应于用户可看作为程序或应用程序的事物。另一方面,线程存在于进程内。因此,线程有时也称作“轻量进程”。每个进程都由一个或多个线程组成。多个进程的存在使得计算机能够一次执行多个任务。而多个线程的存在使得进程能够分解工作以便并行执行。在多处理器计算机上,进程或线程可以在不同的处理器中运行。这使得真正的并行处理成为可能。并不总是能够完全并行处理。有时候必须要同步线程。一个线程可能必须等待另一个线程的结果,或者一个线程可能需要独占访问另一 阅读全文