代码改变世界

随笔分类 -  dot net

使用MSBUILD 构建时出错 error MSB3086: Task could not find "sgen.exe" using the SdkToolsPath

2011-11-22 22:39 by 无常, 2258 阅读, 收藏, 编辑
摘要: 如果项目有添加有WB引用,比如引用其它网站的WEB服务等,那么VS在编译时会自动生成个 [项目名称].Serializers.dll的文件,就是把引用服务中的相关对象信息生成硬编码的程序集,以提高效率。 但是,如果在远程服务器上使用msbuil构建时,服务器上如果没安装有winsdk,那么构建就会失败,出现类似这样的信息: (GenerateSerializationAssemblies ta... 阅读全文

MVC3中实现验证提示信息多语言支持

2011-05-30 00:26 by 无常, 6389 阅读, 收藏, 编辑
摘要: 导言在上一篇博文中提出一种通过自定义验证适配器自定义模验证提示信息的方法,实现了修改System.ComponentModel.DataAnnotations中提供的默认验证信息,但此方法是把提示信息写死在代码中,不够灵活,比如要多语言支持的情况下,就无能为力了。本文便继续加以完善,在上文方法的基础上,实现验证提示信息的多语言支持。改造MyRequiredAttributeAdapter即是要实现多语言支持,那么提示信息就不能写死在适配器中了。多语言信息内容,一般是保存在独立的XML文件中或者使用ASP.NET中内置的资源文件,本文使用后者。为了实现更灵活的验证信息,参考了这篇博文的方法,使用 阅读全文

MVC3中使用验证适配器修改默认的验证提示信息

2011-05-29 14:36 by 无常, 5783 阅读, 收藏, 编辑
摘要: 验证MVC中提供的模块验证非常灵活,在System.ComponentModel.DataAnnotations命名空间中提供了常用的一些验证特性,如Required、Compare等。 所有的验证特性都提供有ErrorMessage属性给我们设置自定义的出错提示信息,比如我们可以这样指定必填属性的提示:[Required(ErrorMessage ="请输入用户名")]。 还可以通过设置ErrorMessageResourceType和 ErrorMessageResourceName属性来使用系统资源文件实现多语言支持(参考:http://haacked.com/arc 阅读全文

NHibernate+Oracle 遇到ORA-01461和ORA-01084及解决方法

2010-03-13 20:10 by 无常, 3120 阅读, 收藏, 编辑
摘要: 如果使用到Oracle的CLOB字段,那么NHibernate会遇到很诡异的“ORA-01461:仅可以插入LONG列的LONG值赋值”错误。关于此错误的分析和解决方法在这里(http://blog.csdn.net/pojianbing/archive/2008/08/09/2789426.aspx)有详细的介绍,实现NHibernate的自定义类型IUserType接口... 阅读全文

ASP.NET MVC中实现多个按钮提交的几种方法

2010-01-29 02:37 by 无常, 22447 阅读, 收藏, 编辑
摘要: 有时候会遇到这种情况:在一个表单上需要多个按钮来完成不同的功能,比如一个简单的审批功能。如果是用webform那不需要讨论,但asp.net mvc中一个表单只能提交到一个Action处理,相对比较麻烦点。方法一:使用客户端脚本比如我们在View中这样写:<input type="submit" value="审核通过" onclick='this.form.action="<%=U... 阅读全文

MVC 2.0: ConvertEmptyStringToNull 带来烦恼

2010-01-20 18:34 by 无常, 2605 阅读, 收藏, 编辑
摘要: 把一个mvc1.0的项目迁移到2.0遇到了些问题,部分表更新时提示某字段值不能为NULL,跟踪发现表单中为没填写的字符串类型字段都为null。下载2.0源码,发现DefaultModelBinder有了不少改动,找到了源头: protected virtual object GetPropertyValue(ControllerContext controllerContext, ModelBin... 阅读全文

Code: jsTree ajax 选择行政区域

2009-12-10 22:47 by 无常, 1548 阅读, 收藏, 编辑
摘要: jsTree是一个jQuery的插件,官网地址:http://www.jstree.com/ DEMO下载/Files/wuchang/JsTree.7z 图1选择效果 图2.选择结果 图3.表数据 阅读全文

动刀EFOracleProvider,使其支持char、timestamp(x)等类型

2009-04-06 16:08 by 无常, 2343 阅读, 收藏, 编辑
摘要: EFOracleProvider是ADO.net实体框架Provider for Oracle,其目前版本对Oracle11g中的char、timestamp(x)等类型支持不好,在生成模型文件时无法识别这些数据类型而忽略相关字段,本文就此给出一种参考方案。 阅读全文

linq to sql =>; ADO.NET Entity Framework

2008-08-13 21:33 by 无常, 2246 阅读, 收藏, 编辑
摘要: 花了一天的时间把项目从linq2sql转到ADO.NET Entity Framework。 此项目bs部分工程量不算多,复杂的功能都做在cs部分上,bs只负责基础数据的维护和报表统计, 其实用linq2sql也可以满足了,但是linq2sql designer用得实在太不爽了,表少的时候还能应付,现在表增加到70几个了,找个表得找半天,linq2sql desinger也不提供个搜索功能:( 前... 阅读全文

WPF读书笔记:2.Base Brushes

2008-07-04 00:29 by 无常, 853 阅读, 收藏, 编辑
摘要: Color structure: Color结构体位于System.Window.Media命名空间中,Color使用3个byte属性分别表示R、G、B三原色的颜色分量。当R=G=B=0时为黑色,当R=G=B=255时为白色。此外,有个byte类型的A属性表示此颜色的“不透明度”,其值为0时表示为全透明,值为255时表示不透明。这些都是有winform System.Dra... 阅读全文

WPF读书笔记:1.初识 Application and MainWindow

2008-07-01 00:12 by 无常, 2542 阅读, 收藏, 编辑
摘要: WPF应用程序中的Application对象及MainWindow处理方法。 阅读全文

“Velocity”-出自微软的分布式缓存方案

2008-06-11 01:15 by 无常, 1622 阅读, 收藏, 编辑
摘要: 之前介绍过一个.NET平台的分布式缓存indeXus.Net Shared Cache ,可是发现它还不是很完善,后来使用Memcached 了。后来收到邮件Shared Cache有新版本发布,整个架构都做了大改,性能应该有比较大的提升,但由于时间的关系,也没再去测试了。 今天在网上游荡看到一POST Velocity: A Distributed In-Memory Cache from Mi... 阅读全文

LINQ的一些技巧

2008-05-21 11:44 by 无常, 592 阅读, 收藏, 编辑
摘要: 1.数组初始化大小为10的数组,每个元素值都是-1 int[] a = Enumerable.Repeat(-1, 10).ToArray(); 大小为10的数组,从0至9递增 int[] b = Enumerable.Range(0, 10).ToArray(); 大小为10的数组,从100,110,120,...,190 int[] c = Enumerable.Range(0, 10).Se... 阅读全文

CODE:扩展方法ToJSON() and ParseJSON()

2008-03-08 21:59 by 无常, 2459 阅读, 收藏, 编辑
摘要: AJAX编程经常需要ObjectJSON之间转换,写了二个扩展方法: public static string ToJSON(this object obj) public static T ParseJSON(this string str) 阅读全文

CODE:给c#添加SetTimeout和SetInterval函数

2008-03-08 14:45 by 无常, 8320 阅读, 收藏, 编辑
摘要: Javascript中的SetTimeout和SetInterval函数很方便,把他们移植到c#中来。 public static void SetTimeout(double interval, Action action) public static void SetInterval(double interval, Action action) 阅读全文

CODE:把jQuery的each(callback)方法移植到c#中

2008-03-03 11:55 by 无常, 1444 阅读, 收藏, 编辑
摘要: jQuery中使用each(callback)方法可以很方便的遍历集合,写了个c#版的,使用方法: static void Main(string[] args) { string[] arr = new string[] { "A", "B", "C", "D", "E" }; arr.Each(p = Console.WriteLine(p)); Console.ReadKey(); } 阅读全文

LINQ to SQL:处理char(1)字段的方式会引起全表扫描问题

2008-02-24 13:30 by 无常, 2618 阅读, 收藏, 编辑
摘要: 如果表中的字段类型为 char(1) 时,Linq to SQL生成char (System.Char)的属性。linq 语句where p.LineCode =='A'生成的SQL是WHERE UNICODE([t0].[LineCode]) = 65,这样会使LineCode列上的索失效,引起全表扫描... 阅读全文

被PageMethods折磨一个半小时

2008-02-23 23:52 by 无常, 1083 阅读, 收藏, 编辑
摘要: 要在Asp.net web sites中使用PageMethods,必需要将服务端代码写在.aspx文件中... 阅读全文

Linq to SQL: Delete时遇到的问题

2008-02-21 22:58 by 无常, 4056 阅读, 收藏, 编辑
摘要: 1.1、 在Linq to SQL中要删除一行记录,官方的例子教我这样做 Code1: using (PubsDataContext pubsContent = new PubsDataContext()) { pubsContent.Log = Console.Out; Author author = pubsContent.Authors.Single(a ... 阅读全文

第一次用ListView,就抓到BUG。

2008-02-20 02:47 by 无常, 3283 阅读, 收藏, 编辑
摘要: 事发于ListView.EditItem 属性 MSDN对此属性的解释: 类型:System.Web.UI.WebControls.ListViewItem ListView 控件中处于编辑模式的项;或者,如果没有项处于编辑模式,则为 null。 事发过程 我的页面是这样子的: 在ListView中嵌套一个Repeater控件显示和编辑子表数据。 因为在Update的时候Lis... 阅读全文