1.下载 ILSpy Visual Studio Plugin 并安装

http://community.sharpdevelop.net/forums/p/13720/36781.aspx

 

2.下载 ILSpy2.0:

http://wiki.sharpdevelop.net/ILSpy.ashx

 

3.将C:\Program Files (x86)\SourceFly\ILSpy的文件删除,把上面下载的ILSpy2.0文件解压缩后复制到此目录

 

4.重新打开Visual Studio, 鼠标选定你需要查看的Assmbly方法,在右键菜单中点击Browse Source即可

 

5.可以设置快捷键,参考ILSpy Visual Studio Plugin安装目录下的文档

posted @ 2012-04-20 10:47 ahui 阅读(9) 评论(0) 编辑

1.安装ASP.NET Ajax1.0 点击安装

2.在Web项目中添加引用:System.Web.Extensions(Version:1.0.61025.0)

3.更改web.config,在<system.web>节点加入子节点:

    <httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpModules>

4.在相关的aspx.cs加入以下代码,注意是static方法

        [WebMethod]
public static string AjaxTest(string str)
{
return "Hello " + str;
}

5.JQuery调用:

    <script type="text/javascript">
function ajaxTest(str) {
$.ajax({
url: "/Default.aspx/AjaxTest",
type: "post",
dataType: "json",
contentType: "application/json",
data: "{'str':'" + str + "'}",
success: function(data) {
alert(data);
},
error: function(x, e) {
alert(x.responseText);
//alert("失败!!");
}
});
}
</script>
posted @ 2012-01-04 15:17 ahui 阅读(30) 评论(0) 编辑

插入实体的字段:

var data = new Comments();
data.ArticleId = 1;
data.AuditStatus = 2;
data.Company = 5;
data.Content = "测试";
data.CreateTime = DateTime.Now;
data.IP = "192.168.1.2";
data.NickName = "张三";
data.ReplyContent = string.Empty;
data.ReplyId = 0;
data.ReplyNickName = string.Empty;
data.ReplyTime = DateTime.Now;
data.Tel = "887964645";
data.UserId = 10;

 

插入1000条分别消耗的时间:

ADO.NET:

EF:

posted @ 2011-09-28 16:40 ahui 阅读(58) 评论(1) 编辑
int[] source = { 5, -3, 6, -7, -6, 1, 8, -4, 0, 0 };
int toRightIdx = 0;
int toLeftIdx = source.Length - 1;
int leftIdx = 0;
int rightIdx = source.Length - 1;
int[] result = new int[source.Length];

while (true)
{
    if (toLeftIdx >= 0)
    {
        int left = source[toRightIdx++];
        if (left < 0) result[leftIdx++] = left;

        int right = source[toLeftIdx--];
        if (right > 0) result[rightIdx--] = right;
    }
    else
    {
        result[rightIdx--] = 0;
    }
    if (leftIdx > rightIdx) break;
}

应该算是最好的解法了吧:P

posted @ 2011-09-19 09:10 ahui 阅读(52) 评论(0) 编辑

1.服务器端代码:

        /// <summary>
        /// 自定义Ext Ajax请求结果
        /// </summary>
        /// <param name="success">是否成功</param>
        /// <param name="value">结果</param>
        /// <returns></returns>
        protected ActionResult ExtJson(bool success)
        {
            return ExtJson(success, 0, string.Empty);
        }

        /// <summary>
        /// 自定义Ext Ajax请求结果
        /// </summary>
        /// <param name="success">是否成功</param>
        /// <param name="value">结果</param>
        /// <returns></returns>
        protected ActionResult ExtJson(bool success, object value)
        {
            return ExtJson(success, 0, value);
        }

        /// <summary>
        /// 自定义Ext Ajax请求结果
        /// </summary>
        /// <param name="success">是否成功</param>
        /// <param name="value">结果</param>
        /// <returns></returns>
        protected ActionResult ExtJson(bool success, int code, object value)
        {
            return Json(new { success = success, code = code, value = value }, "text/html", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet);
        }

        /// <summary>
        /// 返回服务器端Model验证错误
        /// </summary>
        /// <returns></returns>
        protected ActionResult ModelError()
        {
            List<object> errors = new List<object>();
            foreach (var key in ModelState.Keys)
            {
                var state = ModelState[key];
                foreach (var error in state.Errors)
                {
                    errors.Add(new { id = key, msg = error.ErrorMessage });
                }
            }

            if (errors.Count > 0)
            {
                return ExtJson(false, errors);
            }

            return ExtJson(false, "未知错误,请检查输入!");
        }

action调用示例:

if (!ModelState.IsValid)
{
        return ModelError();
}

  

2.客户端代码

handler: function() {
    var form = theForm.getForm();
    if (form.isValid()) {
        form.submit({
            waitMsg: '正在提交...',
            success: function(form, action) {
                Ext.Msg.alert('成功', '保存成功!', function() {
                    win.hide();
                    store.loadPage();
                });
            },
            failure: function(form, action) {
                if (action.result) {
                    if (typeof(action.result.value) == 'string') Ext.Msg.alert('失败', action.result.value);
                    else if (action.result.value.constructor == Array) theForm.getForm().markInvalid(action.result.value);
                } else {
                    Ext.Msg.alert('失败', '未知错误');
                }
            }
        });
    }
}

 

posted @ 2011-09-18 10:51 ahui 阅读(107) 评论(1) 编辑
摘要: public static class ByteHexHelper{ private static char[] _buffedChars = null; private static byte[] _buffedBytes = null; static ByteHexHelper() { _buffedChars = new char[(byte.MaxValue - byte.MinValue + 1) * 2]; int idx = 0; byte b = byte.MinValue; while (true...阅读全文
posted @ 2011-08-29 00:46 ahui 阅读(338) 评论(0) 编辑
摘要: function resizeImage(image, max) { if (Math.max(image.width, image.height) > max) { if (image.width > image.height) image.width = max; else image.height = max; } return true;} <img onload="var max=64;if(Math.max(this.width,this.height)>max){if(this.width>this.height)this.width=ma阅读全文
posted @ 2011-08-18 14:46 ahui 阅读(31) 评论(0) 编辑
摘要: EF通用的分页实现:/// <summary>/// 根据条件分页获得记录/// </summary>/// <param name="where">条件</param>/// <param name="orderBy">排序</param>/// <param name="ascending">是否升序</param>/// <param name="pageIndex">当前页码</param>阅读全文
posted @ 2011-08-04 14:03 ahui 阅读(696) 评论(8) 编辑
摘要: 假设消息头为16byte0-3 消息头标识4-7 消息体长度8-15 CRC校验码public class StreamHelper { #region 将消息转为包含消息头的字节数组 /// <summary> /// 将消息转为包含消息头的字节数组 /// </summary> /// <param name="stream"></param> /// <param name="message"></param> /// <returns></returns&g阅读全文
posted @ 2011-07-12 09:32 ahui 阅读(264) 评论(0) 编辑
摘要: #region 异步接收Socket数据/// <summary>/// 异步接收Socket数据/// </summary>/// <param name="socket"></param>/// <returns></returns>public static byte[] ReceiveData(Socket socket){ ReceiveObject state = new ReceiveObject() { Client = socket }; socket.BeginReceive(sta阅读全文
posted @ 2011-07-04 16:31 ahui 阅读(163) 评论(0) 编辑