【.Net】Net开发

博客里的好多文章都是本人看着比较好,就转过来的,好少自己亲自去写点什么,也很少把自己学的一点心得于大家分享,今天特别想聊一下,关于本人做Net开发时的那段回忆!






一、关于知识的回忆

还记得Handlere吗?

我记得Handler做图片防盗链时,有这么一个功能!

 1 public class ImgHandlerTest: IHttpHandler
 2     {
 3         public void ProcessRequest(HttpContext context)
 4         {
 5             Uri url = context.Request.UrlReferrer;//从哪个地址过来的
 6             if (url == null)
 7             {
 8                 context.Response.End();
 9
10             }
11             if (url.Host.ToString().Contains(".oa.com"))
12             {
13                 context.Response.WriteFile(context.Request.FilePath);
14             }
15             else
16             {
17                 context.Response.End();
18
19             }
20             context.Response.End();
21         }
22         public bool IsReusable
23         {
24             get { return true; }
25         }
26     }

还记得Module吗?那时我们做过IP禁止访问,也就是可以限制某些IP访问我们的程序

 1 public class IpTestModule:IHttpModule
 2     {
 3
 4         public void Init(HttpApplication context)
 5         {
 6             context.BeginRequest += context_BeginRequest;
 7         }
 8
 9         void context_BeginRequest(object sender, EventArgs e)
10         {
11             //string ip = Common.CommonFun.GetIP();
12             //if (ip == "127.0.0.1")
13             //{
14             //    HttpApplication app = sender as HttpApplication;
15             //    app.Context.Response.End();
16             //}
17         }
18         public void Dispose()
19         {
20
21         }
22     }

用Module的时候,不知道你记得否了,没有asp.net mvc 的时候,你是否用Module做过登录验证呢?

public  class LoginModule:IHttpModule,System.Web.SessionState.IRequiresSessionState
    {

        public void Dispose()
        {
            throw new NotImplementedException();
        }

        public void Init(HttpApplication context)
        {
           context.AcquireRequestState+=context_AcquireRequestState;
        }

        private void context_AcquireRequestState(object sender, EventArgs e)
        {
            //HttpApplication app = sender as HttpApplication;
            //string url = app.Context.Request.RawUrl;
            //if (url.Contains(".aspx") && !url.Contains("login.aspx")||(url.Contains("ashx")&&!url.Contains("CreateImageCode.ashx")))
            //{
            //    if(app.Context.Session["LoginUser"] ==null)
            //   {
            //    app.Context.Response.Redirect("~/login.aspx");
            //    app.Response.End();
            //   }
            //}
        }

    }
//当然还有同样的另一种方法

那时候你用过EasyUI吧,你记得EasyUI里哪些东西是你容易忘掉或者入坑的吗?

//easy ui文档要好好看吧
//Id ID 你入过坑吗?
//easy ui的客户端表单验证你会吗?
//知道datagrid列表的选中行ID通过什么拿到吗?
//当年老师说你们删除像这么玩
dele: function () {

                var rows = $("#datalist").datagrid("getSelections");
                if (rows.length <= 0) {
                    $.messager.alert("提示", "没有选中的行", "info");
                    return;

                }
                //将选择到的行存入数组并用,分隔转换成字符串,
                var ids = [];
                for (var i = 0; i < rows.length; i++) {
                    ids.push(rows[i].ID);
                }
                var idsStr = ids.join(",");

                //使用jquery和 服务端进行交互 ajax
                $.ajax({

                    url: ‘../../ashx/DepartmentHandler.ashx‘,
                    dataType: "text",
                    data: { ids: idsStr,action:"delete" },
                    type: "POST",
                    beforeSend: function () {
                        // 禁用按钮防止重复提交
                        $.messager.progress({ title: "执行中", text: "" });

                    },
                    success: function (data) {
                        $("#datalist").datagrid("load", { action: "search" });
                        $.messager.alert("成功",data,"info");
                    },
                    complete: function () {
                        $.messager.progress("close");
                    },
                    error: function () {
                        $.messager.alert("警告",  "对不起,系统出现错误,请联系管理员!");
                    }

                });

            }

当easyUI表单提交时,拿的对表单的验证你还记得吗?

Save: function () {

                var parentId = $("#dptComTree").combotree("getValue");
                var bool = $("#fm").form("validate");
                if (bool) {
                    var data;
                    if (obJdpt.opType == "1") {
                        data = { name: $("#dptdialog input[name=‘name‘]").val(), action: "add", pid: parentId };

                    }

                    else {

                        data = { id: $("#dptdialog input[name=‘id‘]").val(), name: $("#dptdialog input[name=‘name‘]").val(), action: "update", pid: parentId };

                    }
                    $.ajax({

                        url: ‘../../ashx/DepartmentHandler.ashx‘,
                        dataType: "json",
                        data: data,
                        type: "POST",
                        beforeSend: function () {
                            // 禁用按钮防止重复提交
                            $.messager.progress({ title: "执行中", text: "" });

                        },
                        success: function (data) {
                            //if (obJdpt.state == "1") {
                            //    $("#dptdialog input[name=‘name‘]").val(data.data.name);
                            //    $("#dptComTree").combotree("setValue", [{ id: data.data.pid, text: data.data.pname }]);
                            //    $("#dptdialog input[name=‘id‘]").val(data.data.id);
                            //}
                            $("#datalist").datagrid("load", { action: "search" });
                            $("dpttree").tree("reload");
                            $.messager.alert("成功", data.msg, "info");
                        },
                        complete: function () {
                            $.messager.progress("close");
                            $("#dptdialog").dialog("close");
                            //清掉表单的值
                            $("#fm").form("reset");

                        },
                        error: function () {
                            $.messager.alert("警告", "对不起,系统出现错误,请联系管理员!");
                        }

                    });

                }

            }

这里我想说,在每次添加完数据,要清空数据,这个是不是说了千千万万了

complete: function () {
                            $.messager.progress("close");
                            $("#dptdialog").dialog("close");
                            //清掉表单的值
                            $("#fm").form("reset");

                        }

你还记得你们老大叫你做表单验证吗?

<div id="dptdialog">
        <form id="fm" method="post">

/*还记得表单里那些low掉牙的隐藏域吗?**/
            <input name="id" type="hidden" />
            <div class="dialog-table">

                <table width="100%" border="0" cellpadding="0" cellspacing="0" class="tk_table">

                    <tr>
                        <td>上级部门</td>
                        <td class="white-tr">
                            <input id="dptComTree" type="text" />
                        </td>

                    </tr>
                    <tr>
                        <td>名称</td>
                        <td class="white-tr">
                            <input name="name" id="txtDptName" type="text" class="easyui-validatebox" data-options="required:true" />
                        </td>
                    </tr>
                </table>
            </div>
        </form>
    </div>

你还记得那个树形图吗,还记得那个加载树吗?

$("#dptComTree").combotree("setValue", [{ id: obJdpt.pid, text: obJdpt.ptext }]);
var parentId = $("#dptComTree").combotree("getValue");
$("#txtDptName").focus();

好了,这是回忆第一篇章,主要是一些webform配合easyUI的一些小的知识点,接下的文章会涉及到的知识有:asp.net MVC 配合easyUI项目的坑,有BootStrap+HTML+ajax+jq的轻型项目的总结还有关于:菜虫网电商项目时,遇到的一些坑,比如说发邮件时,邮箱服务器的坑,这个也就是当时开发忘记密码遇到的,还有网页记录回传的坑,这些内容下面的文章都会回忆 到!

时间: 2024-11-18 19:32:40

【.Net】Net开发的相关文章

eclipse birt报表开发入门

在开发中,报表或多或少会涉及到,有些报表可能比较简单,而有些报表可能很复杂.无论如何,这些报表功能的开发都是可以通过一些公共的组件来实现的,比如我现在所在的这家公司,如果想要制作报表,只需要配置下报表配置下就可以了(这个报表是通过特定实现的报表语言实现了,支持内部自定义的语言,最终将这些相应的数据保存到数据库中,对报表中的一些事物进行了抽象,比如:报表模型, 查询参数.).如果要自己手动的一步一步的编写报表,那么相对会比较麻烦,如果能提供一个框架,只需要进行一些配置就可以完成自定义报表,那岂不很

微信公众号可通过现金红包接口发放微信支付现金红包(附开发教程)

农历新年将至,支付宝红包打了一仗,微信在朋友圈屏蔽了它的分享,但单防守还不行,进攻才是最好的防守.昨日,微信支付现金红包接口正式开放,只需开通微信支付,即可接入现金红包.微信公众号也可以发放现金红包了! 通过现金红包接口,公众号开发者可以策划相关运营活动,向用户发放微信支付现金红包,更好的达到品牌推广及回馈用户的效果. 1.商户调用接口时,通过指定发送对象以及发送金额的方式发放红包,这样的方式,允许商户灵活的应用于各种各样丰富的活动场景 2.领取到红包后,用户的资金直接进入微信零钱,避免繁复的领

基于jquery开发的UI框架整理分析

根据调查得知,现在市场中的UI框架差不多40个左右,不知大家都习惯性的用哪个框架,现在市场中有几款UI框架稍微的成熟一些,也是大家比较喜欢的一种UI框架,那应该是jQuery,有部分UI框架都是根据jQuery研发出来的产品,现在也很常见了. 国产jQuery UI框架 (jUI) DWZ DWZ富客户端框架(jQuery RIA framework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架.设计目标是简单实用,快速开发,降低ajax开发成本. jQuery 部件布局

【Windows10&nbsp;IoT开发系列】配置篇

原文:[Windows10 IoT开发系列]配置篇 Windows10 For IoT是Windows 10家族的一个新星,其针对不同平台拥有不同的版本.而其最重要的一个版本是运行在Raspberry Pi.MinnowBoard和Galileo平台上的核心版.本文重点针对Raspberry Pi平台的Windwos10 IoT配置做介绍. Windows 10 IoT Editions ​一:设置你的电脑. 注:​开发Windows10 IoT的电脑需要Visual Studio 2015.

【Windows10&nbsp;IoT开发系列】PowerShell的相关配置

原文:[Windows10 IoT开发系列]PowerShell的相关配置 可使用 Windows PowerShell 远程配置和管理任何 Windows 10 IoT 核心版设备.PowerShell 是基于任务的命令行 Shell 和脚本语言,专为进行系统管理而设计. 1.​启动 PowerShell (PS) 会话 注:若要使用装有Windows10 IoT Core设备启动PS会话,首先需要在主机电脑与设备之间创建信任关系. ​启动 Windows IoT 核心版设备后,与该设备相连的

【Windows10&nbsp;IoT开发系列】API&nbsp;移植工具

原文:[Windows10 IoT开发系列]API 移植工具 Windows 10 IoT Core 中是否提供你的当前 Win32 应用程序或库所依赖的 API? 如果不提供,是否存在可使用的等效 API? 此工具可以为你回答这些问题,并协助你将你的当前 Win32 应用程序和库迁移到 Windows IoT Core. Windows 10 IoT 核心版 API 移植工具可在 ms-iot/iot-utilities github 存储库中找到.下载存储库 zip 并将 IoTAPIPor

【Windows10&nbsp;IoT开发系列】“Hello,World!”指导

原文:[Windows10 IoT开发系列]"Hello,World!"指导 本文主要是介绍使用C#来开发一个可以运行在Raspberry Pi2上的一个基本项目. ​1.在启动Visual Studio 2015后,选择"文件"→"新建项目". ​在打开的"新建项目"对话框中,选择"通用". ​选择第一个项目"空白应用(通用Windows)" 新建项目 ​注:如果这是你创建的第一个项

【Windows10&nbsp;IoT开发系列】开发人员模式设置

原文:[Windows10 IoT开发系列]开发人员模式设置  声明:本文转自微软Windows 开发人员中心(https://msdn.microsoft.com/library/windows/apps/xaml/dn706236.aspx),在此基础上进行删减和修改. ​对于要用于开发.安装或测试应用的设备,不再需要开发人员许可证.你只需从设备的设置中为这些任务启用设备一次.(仅限于运行Windows 10系统的设备) 使用开发人员功能 ​使用 Microsoft Visual Stud

二维码扫码积分系统定制开发

微信积分系统 二维码扫码积分系统定制开发找丽姐[158.1816.6626/电微]二维码营销模式系统定制开发 微信扫二维码营销系统开发 扫码领积分系统开发 一.如何实现扫二维码领红包功能? 1.使用扫描二维码领取红包对活动进行设置,包括红包数量.红包金额.促销地区.中奖概率等. 2.将生成的二维码赋到商品上面并赋涂层,一方面可以起到保证二维码的一次性,另一方面也可以引起消费者的好奇心. 3.通过手机微信打开扫一扫,扫码商品二维码关注公众号并领取红包,如果参与分享还可以获得抽奖的机会. 二.微信扫

iOS开发——网络编程OC篇&amp;Socket编程

Socket编程 一.网络各个协议:TCP/IP.SOCKET.HTTP等 网络七层由下往上分别为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. 其中物理层.数据链路层和网络层通常被称作媒体层,是网络工程师所研究的对象: 传输层.会话层.表示层和应用层则被称作主机层,是用户所面向和关心的内容. http协议   对应于应用层 tcp协议    对应于传输层 ip协议     对应于网络层 三者本质上没有可比性.  何况HTTP协议是基于TCP连接的. TCP/IP是传输层协议,主要