zoukankan      html  css  js  c++  java
  • 内置对象 和 DropDownList时间年月日的三级联动

    (一)内置对象

    1.Request  --- 获取请求对象

      获取通过地址栏传值过来的对象

      string aaa = Request["key"];  key必须和传值的对象名称相同

    2.Response  ---  响应请求对象

      Response.Redirect("新打开的网址?aa=key");/ Response.Redirect("新打开的网址?aa="+key)

      地址栏传值/URL传值/QueryString传值优势:不占用服务器内存,保密性查,传递的长度有限

       ?aa=key  要传递的对象   只能在原有页面上进行刷新,无法打开新的选项卡

      Response.Write("string");  --- 将字符串输出到页面的最顶部,string可以书写js代码,打开新的网址

    3.Session

      优势:1.存贮在服务端,占用服务器内存2.传输速度快3.不要滥用,容易溢出

      生命周期:20分钟,每一次的请求都会刷新这个时间,如果浏览器关闭,就会断开此次Session的链接

      Session可以存贮Object类型

      Session页面传值:

    string aa = TextBox1.Text;
            Session["zz"] = aa;
            Response.Redirect("bb.aspx");

      接收的页面:

      Label1.Text = Session["zz"].ToString();

      传递实例化的对象:

    复制代码
     protected void Page_Load(object sender, EventArgs e)
        {
            Button1.Click += Button1_Click;
          
        }
    
        void Button1_Click(object sender, EventArgs e)
        {
            Users u = new Users();
            u.username = "小明";
            u.sex = "男";
            Session["zz"] = u;
            Response.Redirect("bb.aspx");
        }
    复制代码

      接收的页面:

      

         Users u = new Users();
            u = Session["zz"] as Users;
            Label1.Text = u.username + u.sex;

    4.Cookie

      cookie和session一模一样,不一样的地方是:Cookies是存储在客户端的

      两者的优缺点:

        Session很安全,但是消耗服务器内存,Cookies,不消耗服务器内存,存在客户端上,但是有可能被访问

      cookie判断为不为空:

        if(Request.Cookies["aa"]!=null){}  --- 直接判断接收的值是不是为空

      设置持久cookie:

        String u = TextBox1.Text;

        Response.Cookies["aa"].Value =u;

        Response.Cookies["aa"].Expires = DateTime.Now.AddDays(3);----  设置cooki持续的时间3天,不同的浏览器都有自己的cooki,与保存的时间无关,只是在当前浏览器下保存

     页面传值:

    复制代码
     protected void Page_Load(object sender, EventArgs e)
        {
            Button1.Click += Button1_Click;
          
        }
    
        void Button1_Click(object sender, EventArgs e)
        {
            string u = TextBox1.Text;
            Response.Cookies["zz"].Value = u;
            Response.Redirect("bb.aspx");
        }
    复制代码

      接收的页面:

      

    复制代码
     protected void Page_Load(object sender, EventArgs e)
        {
            
            string u = Request.Cookies["zz"].Value;
            Label1.Text = u;
        }
    复制代码

    (二)时间年月日的三级联动

    页面代码:

     <asp:DropDownList Style="font-size: 15px;  70px;" ID="DropDownList1" runat="server"></asp:DropDownList>年
                <asp:DropDownList Style="font-size: 15px;  70px;" ID="DropDownList2" runat="server"></asp:DropDownList>月
                <asp:DropDownList Style="font-size: 15px;  70px;" ID="DropDownList3" runat="server"></asp:DropDownList>日

    js代码:

    复制代码
    //年的改变事件
        document.getElementById("DropDownList1").onchange = function () { year(); }
        //判断选择年是否位闰月
        function year()
        {
            
            var year1 = document.getElementById("DropDownList1");
            var mon = document.getElementById("DropDownList2");
            var day = document.getElementById("DropDownList3");
            //2月的判断
            if (mon.value == "2") {
                
                if (year1.value % 100 == 0 && year1.value % 4 == 0 || year1.value % 400 == 0) {
                    day.options.length = null;
                    for (var i = 1; i < 30; i++) {
                        var op = document.createElement("option");
                        op.value = i;
                        op.innerText = i;
                        day.appendChild(op);
                    }
                }
                else
                {
                    day.options.length = null;
                    for (var i = 1; i < 29; i++) {
                        var op = document.createElement("option");
                        op.value = i;
                        op.innerText = i;
                        day.appendChild(op);
                    }
    
                }
            }
        }
        //月的改变事件
        document.getElementById("DropDownList2").onchange = function ()
        {
            var year1 = document.getElementById("DropDownList1");
            var mon = document.getElementById("DropDownList2");
            var day = document.getElementById("DropDownList3");
            if (mon.value == "1" || mon.value == "3" || mon.value == "5" || mon.value == "7" || mon.value == "9" || mon.value == "10" || mon.value == "12") {
                day.options.length = null;
                for (var i = 1; i < 32; i++) {
                    var op = document.createElement("option");
                    op.value = i;
                    op.innerText = i;
                    day.appendChild(op);
                }
            }
            else if (mon.value == "4" || mon.value == "6" || mon.value == "8" || mon.value == "11")
            {
                day.options.length = null;
                for (var i = 1; i < 31; i++) {
                    var op = document.createElement("option");
                    op.value = i;
                    op.innerText = i;
                    day.appendChild(op);
                }
            }
            else if(mon.value=="2")
            {
                year();
            }
        }
    复制代码

     

      

  • 相关阅读:
    【JavaEE】之MyBatis开发DAO
    【JavaEE】之MyBatis与原生JDBC、Hibernate访问数据库的比较
    【JavaEE】之MyBatis插入数据后获取自增主键
    【JavaEE】之MyBatis的ParameterType的使用
    【Android
    【Android
    【设计模式】
    【设计模式
    架构师十项技能
    tcp 出现rst情况整理
  • 原文地址:https://www.cnblogs.com/weiyu11/p/6904745.html
Copyright © 2011-2022 走看看