随笔分类 -  Net技术相关(C#,asp.net,MVC)

摘要:1。直接在cs代码中通过Page.Response.Write()输出js代码这个方式下注册的js是在html页面代码的最顶端,在html标签之前这个方式的注册经常会使页面的css样式失效2。RegisterClientScriptBlock这个方式public void RegJS(string strKey,string js) { if (!ClientScript.IsClientScriptBlockRegistered(strKey)) { ClientScript.RegisterClientScriptBlock(this.GetType(), strKey, js, true 阅读全文
posted @ 2010-12-03 19:03 音乐啤酒 阅读(293) 评论(0) 推荐(0) 编辑
摘要:-NPOi本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。 阅读全文
posted @ 2010-08-19 17:54 音乐啤酒 阅读(257) 评论(0) 推荐(0) 编辑
摘要:public class AccessHelper{ private AccessHelper() { } private static void PrepareCommand(OleDbCommand command, OleDbConnection connection, OleDbTransaction transaction, string commandText, OleDbParameter[] commandParameters, out bool mustCloseConnection) { if (null == command) throw new ArgumentNull 阅读全文
posted @ 2010-05-12 19:11 音乐啤酒 阅读(814) 评论(0) 推荐(0) 编辑
摘要:打包部署补充选中打包项目,按F4,可以调出面板,修改标题,产品名称等属性本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。 阅读全文
posted @ 2010-05-10 19:30 音乐啤酒 阅读(184) 评论(0) 推荐(0) 编辑
摘要:使用asp.net输出Excel文件并且下载,网上资源很多我也是参照网上资源写的简单流程,就是页面上方一个datagrid控件或者gridview控件,后来绑定数据到控件上,然后输出控件呈现的html代码,输出的http流设置好相应的头文件就可以你可以不在页面上方数据控件,直接在后台生成datagrid控件,然后绑定数据并输出,也是可以,只不过Excel的列就是数据库的列,一般会是英文的,显示不太友好。一般哈还是在页面放一个datagrid控件,设置好头名称之类的这是前台html代码<%@ Page Language="C#" AutoEventWireup=&quo 阅读全文
posted @ 2010-04-29 19:26 音乐啤酒 阅读(510) 评论(0) 推荐(0) 编辑
摘要:这个其实是老问题,以前就碰到过,不过没有记录下来一般大部分人会开始使用Page.response方式输出js结果这端js是输出在页面的最开头的, 所以可能会导致css样式使用下面的方式注册js就可以了strkey就是js在页面的方法名字,要保证这个名字不会和页面上其他js方法名字冲突public void MessageBox(string strKey, string strInfo) { if (!ClientScript.IsClientScriptBlockRegistered(strKey)) { string strjs = "alert('" + st 阅读全文
posted @ 2010-04-27 22:58 音乐啤酒 阅读(437) 评论(0) 推荐(0) 编辑
摘要:先去网站下载该控件的最新版本http://www.webdiyer.com/下载一个分页控件的dll。还有一个是例子项目下载的dll直接添加的自己的web项目中就可以然后在使用的页面上添加<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>注册该控件这个控件是将数据绑定和分页样式完全独立的一个控件,数据仍然是自己来读取,控件负责分页逻辑这个就是分页导航 <webdiyer:AspNetPager ID 阅读全文
posted @ 2010-04-27 04:54 音乐啤酒 阅读(560) 评论(2) 推荐(0) 编辑
摘要:在本机环境中搭建一个真正的web网站环境(和网站部署到服务器上效果一致)在本机开发网站的时候,都是直接在vs中运行,或者是在iis中部署一个测试网站而已。但是运行的域名仍然是localhost开头的。这样导致网站发布到服务器上与本机有差别,有时候还是比较重大的差别。因为域名不一样或者域名不能用,cookie就不能启用,这是一个问题第二是因为域名和网站在本机的地址与在服务器上部署以后运行的网站不一样,导致很多文件寻址失败可能还会有导致其他问题解决的办法就是在本机模拟在服务器上部署一样,来配置网站这是步骤1。在iis中建立网站,导向你的网站路径,这个时候要配置网站的主机头,主机头要和你以后发布的网 阅读全文
posted @ 2010-04-03 21:45 音乐啤酒 阅读(1336) 评论(0) 推荐(0) 编辑
摘要:在.Net多线程编程中,AutoResetEvent和ManualResetEvent这两个类经 常用到, 他们的用法很类似,但也有区别。 Set方法将信号置为发送状态,Reset方法将信号置为不发送状态,WaitOne等待信号的发送。可以通过构造函数的参数值来决定其初始状态,若为true则非阻塞状态,为false为阻塞状态。如果某个线程调用WaitOne方法,则当信号处于发送状态时,该线程会得到信号, 继续向下执行。 其区别就在调用后,AutoResetEvent.WaitOne()每次只允许一个线程进入,当某个线程得到信号后,AutoResetEvent会自 动又将信号置为不发送状态,则其 阅读全文
posted @ 2010-01-26 01:04 音乐啤酒 阅读(174) 评论(0) 推荐(0) 编辑
摘要:这是msdn上的一个事件和委托的例子。比较适合初步了解事件和委托的关系和实现本博客还有一个更好的讲解事件和委托的文章,那个更高级,更全面。 ----》点击链接 本博客的其他文章委托和事件类或对象可以通过事件向其他类或对象通知发生的相关事情。发送(或引发)事件的类称为“发行者”,接收(或处理)事件的类称为“订户”。在典型的 C# Windows 窗体或 Web 应用程序中,可订阅由控件(如按钮和列表框)引发的事件。可使用 Visual C# 集成开发环境 (IDE) 来浏览控件发布的事件,选择要处理的事件。IDE 会自动添加空事件处理程序方法和订阅事件的代码。0 && image 阅读全文
posted @ 2010-01-21 18:30 音乐啤酒 阅读(293) 评论(0) 推荐(0) 编辑
摘要:C# 中,派生类可以包含与基类方法同名的方法。基类方法必须定义为 virtual。如果派生类中的方法前面没有 new 或 override 关键字,则编译器将发出警告,该方法将有如存在 new 关键字一样执行操作。如果派生类中的方法前面带有 new 关键字,则该方法被定义为独立于基类中的方法。如果派生类中的方法前面带有 override 关键字,则派生类的对象将调用该方法,而不是调用基类方法。可以从派生类中使用 base 关键字调用基类方法。override、virtual 和 new 关键字还可以用于属性、索引器和事件中。默认情况下,C# 方法为非虚方法举个简单列子来看看吧public cl 阅读全文
posted @ 2010-01-20 18:11 音乐啤酒 阅读(263) 评论(0) 推荐(0) 编辑
摘要:在winform开发中,有部分图片 如果存储在单独的文件夹中不好打包部署还有些字符串,或者配置信息存储在config文件很容易被看到这个时候可以使用资源配置功能。新建winform项目以后,有个“Properties”的目录,下面有个Resources.resx文件,双击打开这个文件就可以设计资源了里面可以添加各种图片,音频,字符串资源。都有一个key名字和value相对应。比较简单然后在程序中使用的时候可以(Image)Properties.Resources.Image1;//Image1就是资源的idProperties.Resources.String1; //等等诸如此类里面还有个s 阅读全文
posted @ 2010-01-19 18:35 音乐啤酒 阅读(240) 评论(0) 推荐(0) 编辑
摘要:Base64编码的作用:由于某些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。它使用下面表中所使用的字符与编码。而且base64特别适合在http,mime协议下快速传输数据。base64其实不是安全领域下的加密解密算法。虽然有时候经常看到所谓的base64加密解密。其实base64只能算是一个编码算法,对数据内容进行编码来适合传输。虽然base64编码过后原文也变成不能看到的字符格式,但是这种方式很初级,很简单。 Base64编码方法要求把每三个8Bit的字节转换为四个6Bit的字节,其中,转换之后的这四个字节中每6个有效bit为是 阅读全文
posted @ 2009-12-23 18:44 音乐啤酒 阅读(2140) 评论(0) 推荐(0) 编辑
摘要:小灵通cngp的短信也搞出来了,还是c#写的,但是还有的逻辑问题 阅读全文
posted @ 2009-04-07 19:43 音乐啤酒 阅读(148) 评论(0) 推荐(0) 编辑
摘要:最近突然想把一个在windows下的用c#写winform程序放到 Linux下运行,于是就是看了2天大名鼎鼎的Mono至于Mono是什么,大家去百度,Google一下就明白了,他就是Novell公司赞助的一个开源项目,把net程序移植到Linux系统上去,包括unix系统,比如opensuse,redhat,macOS之类的。先说安装吧。Linux安装软件真的很复杂了,累死了。其实也不复杂了,主要是对Linux不熟悉1.现在Linux系统,我是在本机安装了一个虚拟机,然后安装了红帽企业版本的Linux5.0也技术RHEL5.然后去http://www.go-mono.com/mono-dow 阅读全文
posted @ 2009-03-25 22:11 音乐啤酒 阅读(1258) 评论(0) 推荐(0) 编辑
摘要:界面很粗糙了,呵呵,但是基本流程已经完全实现和跑通了,和移动飞信功能基本一致(呵呵,只是文字聊天方面),实现pc和pc通信,手机终端和pc终端通信。另外还有一个服务端界面,记录登陆在线的用户。这个简单的项目是用net做的。涉及多线程,socket,socket的同步异步,短信协议,联通网关等内容。这样项目结构图。主要功能1.客户端连接服务器,服务器记录在线用户。2.客户端实时获得最新的在线用户。3.在线用户通过pc交流:点击左侧的在线用户,当做聊天对象,可以点击“发送”进行pc客户端聊天,这个很easy,4.pc客户端可以“发送手机”给手机用户,手机用户直接通过短信回复内容,显示在pc客户端上 阅读全文
posted @ 2009-03-05 01:25 音乐啤酒 阅读(218) 评论(0) 推荐(0) 编辑
摘要:引言如果你看过了 C#中的委托和事件 一文,我想你对委托和事件已经有了一个基本的认识。但那些远不是委托和事件的全部内容,还有很多的地方没有涉及。本文将讨论委托和事件一些更为细节的问题,包括一些大家常问到的问题,以及事件访问器、异常处理、超时处理和异步方法调用等内容。为什么要使用事件而不是委托变量?在 C#中的委托和事件 中,我提出了两个为什么在类型中使用事件向外部提供方法注册,而不是直接使用委托变量的原因。主要是从封装性和易用性上去考虑,但是还漏掉了一点,事件应该由事件发布者触发,而不应该由客户端(客户程序)来触发。这句话是什么意思呢?请看下面的范例:NOTE:注意这里术语的变化,当我们单独谈 阅读全文
posted @ 2009-02-28 22:50 音乐啤酒 阅读(173) 评论(0) 推荐(0) 编辑
摘要:using System;using System.Security.Cryptography;using System.Web.Security;using System.IO;using System.Text;/// <summary>/// CryptTo 实现加密、解密算法/// </summary>public class CryptTo{ /// <summary> /// 根据任意字符生成Des密钥 /// </summary> /// <param name="secret">生成密钥的种子字&l 阅读全文
posted @ 2009-02-21 19:24 音乐啤酒 阅读(757) 评论(0) 推荐(0) 编辑
摘要:c#多线程操作Windows Forms控件在Windows Forms编程中涉及到的多线程操作,多个线程来更新Forms上的控件,比如textbox等。但是如果你直接在线程中更新textbox的text属性是会报错的。因为textbox是主线程创建的,子线程访问的时候就会报错。解决方案如下,建立一个Windows Forms项目,拖拉一个textbox和button就可以。点击button来启动线程,在线程中修改textbox的值。这需要使用委托类//启动线程private void button1_Click(object sender, EventArgs e) { Thread thr 阅读全文
posted @ 2009-01-08 03:27 音乐啤酒 阅读(477) 评论(0) 推荐(0) 编辑
摘要:Net提供了许多多线程编程工具,可能是因为太多了,所以掌握起来总是有一些头疼,我在这里讲讲我总结的一些多线程编程的经验,希望对大家有帮助 不需要传递参数,也不需要返回参数 我们知道启动一个线程最直观的办法是使用Thread类,具体步骤如下 ThreadStart threadStart=new ThreadStart(Calculate); Thread thread=new Thread(threadStart); thread.Start(); public void Calculate(){ double Diameter=0.5; Console.Write("The per 阅读全文
posted @ 2009-01-08 02:59 音乐啤酒 阅读(184) 评论(0) 推荐(0) 编辑