随笔分类 - [技术]C#.NET
摘要:今天看到园友分享的wkhtmtopdf--高分辨率转HTML成PDF(三)想起我做一键保存网页为PDF_V1.2的时候,也研究过一段时间这个,一开始也看的是wkhtmltopdf,不过发现wkhtmltopdf不好用:1、中文支持不好2、组件较大,有20多M吧后来看到这个(ephtmltopdf.dll)http://www.html-to-pdf.net/不过这个的试用版有版权信息,经过我的反复折腾,终于破解了它,去掉了版权信息。有需要的可以去http://download.csdn.net/detail/bdstjk/6007387下载,提取破解后的DLL,也可以通过官方试用下载页获取试用
阅读全文
摘要:CSDN博客导出工具我就不介绍了,用过的人都知道,很方便实用的一个工具。没用过的看这里:http://blog.csdn.net/sq_zhuyi/article/details/7924776不过我觉得这个工具对我来说还是不太方便,这个工具只能导出某位博主的整个博客,或者导出博客专栏。如果想导出自己在CSDN或者博客园收藏的文章,就只能自己一篇文章一篇文章的添加了,相对就比较麻烦了一点。CSDN博客导出工具也开源了嘛,今天就对他进行了一下扩展支持CSDN、博客园收藏文章的自动搜索,导出。使用截图:我的博客:http://www.cnblogs.com/bdstjk/源码:http://pan
阅读全文
摘要:最近自己在自学WPF,看了网上很多前辈的WPF例子,觉得很炫,自己也有点冲动,就尝试着写了一下。桌面程序嘛,要炫起来,当然首先得窗体先炫起来,所以就自己写了一个可以换肤的WPF窗体基类。不多说,先上图:怎么样,看起来效果还是不错吧。先发个demo的下载地址:例子下载http://pan.baidu.com/share/link?shareid=565013&uk=1108265080其实,已开始看别人的东西,觉得很神奇,不过自己写下来,觉得也没那么复杂。只不过由于,WPF引入了XAML,跟以前winform时代有很大差别,需要一个转换过程。多写写代码就好了。View Code <
阅读全文
摘要:用MS VS打包程序,有个细节有点坑爹写出来给大家看看一般来说MSDN都这么解释RemovePreviousVersions 属性的设置如下所示:设置说明False安装程序不检查是否有早期版本。True安装程序检查是否有早期版本;一经发现,便会立即将其卸载。但实际上:指定安装程序在安装期间是否移除应用程序的早期版本。如果此属性设置为 True,并且在安装时检测到了早期版本,则将调用以前版本的卸载功能。安装程序检查“UpgradeCode”和“ProductCode”属性,以确定是否应移除早期版本。新旧两种版本的 UpgradeCode 必须相同;ProductCode 必须不同。如果已在应用程
阅读全文
摘要:原文链接:http://www.cnblogs.com/wenming205/archive/2010/08/08/1795341.html文章不错,看完之后搭建项目就没什么问题了,其他很多就是经验问题了做过webform的,其实也就需要知道怎么把页面和C#代码关联起来,看看这个不错一、简介此项目为.Net Mvc学习试例,原版的项目可从www.asp.net网站上下载;在学习的过程中,我们将通过.net mvc2来创建一个音乐仓储系统。整个应用程序包括三个部分,分别为:选购、结帐和后台管理二、预备知识在学习此项目时,最好具用Linq知识。在这里推荐博客园里LoveCherry的一步一步学Li
阅读全文
摘要:http://blog.csdn.net/bdstjk说起来有点惭愧,做了这么久的.NET,今天才真正搞明白Server.Transfer先来看看代码:B.aspx public string TextBox1Text { get { return TextBox1.Text; } } protected void Button1_Click(object sender, EventArgs e) { Ser...
阅读全文
摘要:http://blog.csdn.net/bdstjkC#反射的入门学习首先要明白C#反射提供了封装程序集、模块和类型的对象等等。那么这样可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。如果代码中使用了属性,可以利用反射对它们进行访问。MSDN描述:反射通常具有以下用途: 使用 Assembly 定义和加载程序集,加载在程序集清单中列出的模块,以及从此程序集中查找类型并创建该类型的实例。使用 Module 发现以下信息:包含模块的程序集以及模块中的类等。您还可以获取在模块上定义的所有全局方法或其他特定的非全局方法。使用 Construc
阅读全文
摘要:http://blog.csdn.net/bdstjk在网站注册的页面上经常要选择注册地点,如果改变省的名称就能出现对应的市级的名称,将为用户带来很大的方便,虽然用.NET的服务端时间实现很容易,不过选一下刷新页面的操作,用户体验实在不怎么样,现在给大家送上AJAX实现的三级联动代码有点多,但是实际的项目过程中,我们必须这么做应要求,先给大家一个代码下载地址.DropDownList控件实现省市联动(AJAX实现)。放心,偶得资源不要积分首先在页面上初始化省的数据,添加onchange的js事件。。在用户改变地区选择的时候,调用JS函数(通过AJAX)调用后台C#代码,C#通过查询数据库,返回
阅读全文
摘要:该例子实现在Repeater通过勾选CheckBox后,通过底部按钮获取到所选的所有数据(之后可以进行批量删除、更新等操作)首先,定义一个类public class UserInfo{ public int ID { get; set; } public string name { get; set; }}在页面上编写Repeater模板<asp:Repeater ID="Repeater1" runat="server"> <HeaderTemplate> <table style="width: 100%;&q
阅读全文
摘要:首先,给大家贴出解决方案,很简单,只需要加一句代码就OK。context.Request.ValidateInput();最近项目中做了一个ashx的页面向其他人提供一个ajax的接口,接口调用使用到了jsonp的方式,当时也没考虑太多,直接将接收到的参数原样写回到了客户端。项目上线之后,公司安全的就呼叫我了,说这个页面没有防止跨站攻击(XSS),说可以通过什么NC反弹工具,获取用户的cookie什么的。把偶搞得云里雾里的。今天看了一下网上的跨站攻击资料,恍然大悟,不就是.net普通页面aspx默认就有的那个什么客户端输入值验证嘛。我们经常的用到网页富文本编辑器的时候出现这个错误不就是.net
阅读全文
摘要:引言本人在.NET 4.0+VS2010环境下调试一个ASP.NET 4.0程序时使用到富文本控件FreeTextBox 3.2.2。从网络上查询得到这个控件尽管被广泛使用,但是其相关的安全问题需要自行解决。我的问题我的问题是在VS2010中使用FreeTextBox 3.2.2用于辅助发送邮件主体内容时,系统出现如下的错误提示: A potentially dangerous Request.Form. value was detected from the client (FreeTextBox1="<H1>bbtest1</H1>").Desc
阅读全文
摘要:首先,封装一个XML序列化和反序列化的函数。using System.Xml.Serialization;
using System.IO; public class XmlSerialize { /// <summary> /// 反序列化XML为类实例 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="xmlObj"></param> /// <returns></retur
阅读全文
摘要:今天需要解析一个XML,这个XML和一般情况用.NET的序列化出来的格式不太一样。我就又补习了一下。分享一下学习成果吧。示例代码下载:http://download.csdn.net/detail/bdstjk/4028340先给大家看看基础知识吧,后面再给大家贴一个复杂实例使用属性可以控制对象的 XML 序列化。默认情况下,XML 元素名称由类或成员名称确定。在名为 Book 的简单类中,字段 ISBN 将生成 XML 元素标记 <ISBN>,如下面的示例所示。public class Book{ public string ISBN;}// When an instance o
阅读全文
摘要:早上看到老赵写的这个性能计数器,感觉很实用,不过老赵用了很多.C# 3.0 的新语法,还用了 VISTA 和 Server 2008 下特有的Win32 API,对于还在用C#2.0 或者还工作在 XP 或者 Server 2003 下的兄弟们,只能望代码心叹了。应老赵的要求,我修改了他的代码,增加了对低版本C# 和 低版本windows 操作系统的支持。 老赵的原文: 一个简单的性能计数器:CodeTimer 修改说明 1. 采用 接口 取代了原代码中的 Lambda 表达式 2. 采用 GetThreadTimes 这个API 函数替代了原代码中的 QueryThreadCycleTime
阅读全文
摘要:有数据,有真相,相信大家在平时的工作或学习过程中,都需要比较几种不同方法或实现之间的性能差距。在这些时候,往往就需要我们不断地创建Stopwatch,打开,关闭,然后打印时间。这种一遍又一遍的重复终有一天会让人忍无可忍,因此如果能有一个“标准”的性能计数器,那应该可以让生活轻松许多。这个性能计数器不用复杂,够用就好;也不需要考虑扩展性,要扩展时直接修改代码就够了;同样不需要考虑输出格式,直接打印在Console就行。在上次的.NET技术大会中,Jeffrey Richter大叔在Keynote Session中进行了一个名为“The Performance of Everyday Things
阅读全文
摘要://根据屏幕大小设置窗体初始大小//Rectangle rect = System.Windows.Forms.SystemInformation.VirtualScreen;Rectangle rect = SystemInformation.WorkingArea;this.Height = rect.Height;this.Width = rect.Width;//根据屏幕大小设置窗体最大化大小this.MaximizedBounds = new Rectangle(rect.X, rect.Y, rect.Width - 2, rect.Height - 2);
阅读全文
摘要:最近项目中需要开发一个颜色选择控件,我做了一个支持选择也支持手动输入的颜色选择控件,支持手动输入必然要验证一下是否是正确的颜色格式,一开始我通过try { document.getElementById('ColorChooseControlText').style.backgroundColor = document.getElementById('ColorChooseControlText').value; args.IsValid = true; } catch (err) { ...
阅读全文
摘要:using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices; //这个肯定要的 namespace WindowsApplication1{ class win32API { public const int OPEN_PROCESS_ALL = 2035711; public const int PAGE_READWRITE = 4; public const int PROCESS_CREAT...
阅读全文
摘要:昨天项目迁移了测试服务器,之后奇怪的问题出现了。IE、谷歌无法登陆,火狐可以登陆。这个项目先后部署过两个测试服务器、一台正式服务器,登陆都是正常的,这次却突然出现这种奇怪的问题,很是纠结。通过查看代码,逻辑很清晰,不应该有问题。跟踪浏览器信息,发现登陆逻辑正常执行,最后进行了页面跳转,之后又跳转回来,那么应该是权限验证失败。没有抛出无权限提示,那么只能是读取Cookie失败。检查IE、谷歌的Cookie记录,发现登陆页面没有完成Cookie写入,这种简单的Cookie操作,.NET不应该会有问题的。开始百度,百度垃圾,没找到想要的。开始谷歌,找到一个差不多的(服务器的时间和时区设置可能影响Co
阅读全文