2017-5-21 Asp.Net内置对象 和 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();
        }
    }

 

  

原文地址:https://www.cnblogs.com/qingnianxu/p/6885326.html