【.Net】Net開發

博客裏的好多文章都是本人看着比較好,就轉過來的,好少本身親自去寫點什麼,也不多把本身學的一點心得於你們分享,今天特別想聊一下,關於本人作Net開發時的那段回憶!jquery






1、關於知識的回憶web

還記得Handlere嗎?ajax

我記得Handler作圖片防盜鏈時,有這麼一個功能! json

 
 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裏哪些東西是你容易忘掉或者入坑的嗎?mvc

 
//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表單提交時,拿的對錶單的驗證你還記得嗎?app

 
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("警告", "對不起,系統出現錯誤,請聯繫管理員!");
                        }



                    });



                }


            }
 

這裏我想說,在每次添加完數據,要清空數據,這個是否是說了千千萬萬了asp.net

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

                        }
 

你還記得大家老大叫你作表單驗證嗎?post

 
<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的輕型項目的總結還有關於:菜蟲網電商項目時,遇到的一些坑,好比說發郵件時,郵箱服務器的坑,這個也就是當時開發忘記密碼遇到的,還有網頁記錄回傳的坑,這些內容下面的文章都會回憶 到!

相關文章
相關標籤/搜索