zoukankan      html  css  js  c++  java
  • 【.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的轻型项目的总结还有关于:菜虫网电商项目时,遇到的一些坑,比如说发邮件时,邮箱服务器的坑,这个也就是当时开发忘记密码遇到的,还有网页记录回传的坑,这些内容下面的文章都会回忆 到!

  • 相关阅读:
    DMZ区
    集群(cluster)和高可用性(HA)的概念
    JS禁用右键,禁用打印,防止另存为,IE浏览器识别(转载)
    window.open实现模式窗口(只弹出一个window.open)
    Textarea自适应高度 JS实现,兼容IE67891011
    JQ基础语法
    SQL 小笔记
    CSS样式笔记
    IE8下 Select文字垂直居中的办法
    汉字转全拼音函数优化方案(SQLServer),值得你看看
  • 原文地址:https://www.cnblogs.com/yanglang/p/7190249.html
Copyright © 2011-2022 走看看