• WebForm 内置对象


    内置对象:

    Response对象:响应请求
    Response.Write("<script>alert('添加成功!')</script>");
    Response.Redirect("Default.aspx");

    Request对象:获取请求
    Request["key"]来获取传递过来的值

    QueryString:地址栏数据传递 ?key=value&key=value
    注意事项:不需要保密的东西可以传
    不要传过长东西,因为长度有限,过长会造成数据丢失

    增删改查

    Default.aspx中添加用户

     
     <input id="btn1" type="button" value="添加用户" />
    
            <script>
                document.getElementById("btn1").onclick = function () {
                    window.open("Default3.aspx", "_self");
                };
    
            </script>
     

     

    添加(方法)

    public bool Insert(Users u)
    {//添加
    bool isok = false;
    cmd.CommandText = "insert into Users values(@a,@b,@c,@d,@e,@f)";
    cmd.Parameters.Clear();
    cmd.Parameters.Add("@a", u.UserName);
    cmd.Parameters.Add("@b", u.PassWord);
    cmd.Parameters.Add("@c", u.NickName);
    cmd.Parameters.Add("@d", u.Sex);
    cmd.Parameters.Add("@e", u.Birthday);
    cmd.Parameters.Add("@f", u.Nation);

    conn.Open();
    try
    {
    cmd.ExecuteNonQuery();
    isok = true;
    }
    catch { }
    conn.Close();
    return isok;
    }

    <body>
    
    
        <form id="form1" runat="server">
            <h1>用户添加</h1>
        用户名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /><br />
            
            密码:<asp:TextBox ID="TextBox3" runat="server" TextMode="Password"></asp:TextBox><br /><br />
            确认密码:<asp:TextBox ID="TextBox4" runat="server" TextMode="Password"></asp:TextBox><br /><br />
            昵称:<asp:TextBox ID="TextBox6" runat="server"></asp:TextBox><br /><br />
            性别:<asp:RadioButtonList ID="RadioButtonList1" runat="server" RepeatDirection="Horizontal" RepeatLayout="Flow">
                <asp:ListItem Value="true" Selected="True">男</asp:ListItem>
                <asp:ListItem Value="false">女</asp:ListItem>
            </asp:RadioButtonList><br /><br />
            生日:<asp:DropDownList ID="DropDownList2" runat="server"></asp:DropDownList>年<asp:DropDownList ID="DropDownList3" runat="server"></asp:DropDownList>月<asp:DropDownList ID="DropDownList4" runat="server"></asp:DropDownList>日<br /><br />
            民族:<asp:DropDownList ID="DropDownList1" runat="server" Width="122px"></asp:DropDownList><br /><br />
           &nbsp &nbsp &nbsp &nbsp <asp:Button ID="Button1" runat="server" Text="注 册" /><br />
            <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
            
    
        
        </form>
    
    
    
    </body>
     

    密码JS验证

     
    <script type="text/javascript">
            window.onload = function () {/*document操作取出密码框里内容*/
                document.getElementById("Button1").onclick = function () {
                    var pwd1 = document.getElementById("TextBox3").value;
                    var pwd2 = document.getElementById("TextBox4").value;
                   /* alert(pwd1);检测一下*/
                   /* alert(pwd2);*/
                    if (pwd1 != pwd2) {
                        document.getElementById("Label2").innerText = "两次密码输入不一致";
                        return false;/*密码不一阻止刷新,一样就刷新*/
                    }
                };
            };
    
        </script>
    
        <style type="text/css">
            #Label2 {
            
            color:red;/*Label2里所呈现的文字显示红色*/
            }
    
        </style>
    </head>
     

     

     

    默认性别,做三个DropDownList

    <asp:ListItem Value="true" Selected="True">男</asp:ListItem>
     
     protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)//数据绑定
            {
                for (int i = DateTime.Now.Year; i >= 1900; i--)
                {
                    //添加年
                    ListItem li = new ListItem(i.ToString(),i.ToString());
                    DropDownList2.Items.Add(li);
                }
    
                for (int i = 1; i <= 12; i++)
                {
                    //月
                    ListItem li = new ListItem(i.ToString(), i.ToString());
                    DropDownList3.Items.Add(li);
                }
    
                for (int i = 1; i <= 31; i++)
                {
                    //日
                    ListItem li = new ListItem(i.ToString(), i.ToString());
                    DropDownList4.Items.Add(li);
                }
    
                //取出民族的数据
                DropDownList1.DataSource = new NationDA().Select();
                DropDownList1.DataTextField = "NationName";
                DropDownList1.DataValueField = "NationCode";
                DropDownList1.DataBind();
            }
             Button1.Click += Button1_Click;//事件委托
        }

    void Button1_Click(object sender, EventArgs e)
    {
    //1、构建一个Users对象
    Users u = new Users();
    u.UserName = TextBox1.Text;
    u.PassWord = TextBox3.Text;
    u.NickName = TextBox4.Text;
    u.Sex = Convert.ToBoolean(RadioButtonList1.SelectedItem.Value);
    string date = DropDownList1.SelectedValue + "-" + DropDownList2.SelectedValue + "-" + DropDownList3.SelectedValue;
    u.Birthday = Convert.ToDateTime(date);
    u.Nation = DropDownList4.SelectedItem.Value;

    
    

    //2、将此对象添加到数据库去
    bool ok = new UsersData().Insert(u);

    
    

    //3、提示添加成功
    if (ok)
    {
    Response.Write("<script>alert('添加成功!')</script>");
    Response.Redirect("Default.aspx");
    }
    else
    {
    Response.Write("<script>alert('添加失败!')</script>");
    }

    
    

    //4、关闭此页面,刷新展示页面
    }
    }

     
     

    二、删除

    操作,在default.aspx主页数据显示中添加一列,点删除,打开新的网页delete.aspx执行代码后关闭,刷新主页面

    <td>操作</td>
    
       <td><a href="delete.aspx"?un=<%#Eval("UserName")
    >删除</a></td>
     
    //新网页中执行的删除代码
    //1、获取要删除的主键值,username,做删除的方法
            string Uname = Request["un"].ToString(); 获取请求
    
            //2、删除
            new UsersDA().Delete(Uname);
            //3、调回Main页面
            Response.Redirect("Main.aspx");
     

    三、修改

    新建窗体xiugai.aspx  数据展示页面添加一列修改,点击进入xiugai.aspx

    <td><a href="#">修改</a></td>

    数据操作类添加方法:

     
    public bool Update(Users u)
        {
            bool isok = false;
            cmd.CommandText = "update Users set PassWord=@b,NickName=@c,Sex=@d,Birthday=@e,Nation=@f where UserName=@a";
            cmd.Parameters.Clear();
            cmd.Parameters.Add("@a", u.UserName);
            cmd.Parameters.Add("@b", u.PassWord);
            cmd.Parameters.Add("@c", u.NickName);
            cmd.Parameters.Add("@d", u.Sex);
            cmd.Parameters.Add("@e", u.Birthday);
            cmd.Parameters.Add("@f", u.Nation);
    
            conn.Open();
            try
            {
                cmd.ExecuteNonQuery();
                isok = true;
            }
            catch { }
            conn.Close();
            return isok;
        }
     
     
    //1步、构建一个Users对象
            Users u = new Users();
            u.UserName = Label1.Text;
    
            if (TextBox3.Text == "" && TextBox4.Text == "")
            {//判断密码的
                u.PassWord = pwd;
            }
            else
            {
                u.PassWord = TextBox3.Text;
            }
    
            u.NickName = TextBox6.Text;
            u.Sex = Convert.ToBoolean(RadioButtonList1.SelectedItem.Value);
            string data = DropDownList2.SelectedValue + "-" + DropDownList3.SelectedValue + "-" + DropDownList4.SelectedValue;
            u.Birthday = Convert.ToDateTime(data);
            u.Nation = DropDownList1.SelectedItem.Value;
    
            //2步、将此对象添加到数据库去,先在UserDA里修改方法
            bool ok = new UsersDA().Update(u);
            //3步、提示修改成功
            if (ok)
            {
                Response.Write("<script>alert('修改成功!')</script>");
              4步、Response.Write("<script>this.opener.location.href='Main.aspx';this.close();</script>");
                //Response.Redirect("Main.aspx");//重定项
    
            }
            else
            {
                Response.Write("<script>alert('修改失败!')</script>");
            }
            //4、关闭此页面,刷新展示页面
            //用JS写
        }
    }

    Cookies

    做一个登陆界面

    <form id="form1" runat="server">
    用户名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
    密码:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
    <asp:CheckBox ID="CheckBox1" runat="server" /><label for="CheckBox1">记住登陆状态7天</label><br />

    <asp:Button ID="Button1" runat="server" Text="登陆" />
    </form>

    点击事件

     protected void Page_Load(object sender, EventArgs e)
        {
            Button1.Click += Button1_Click;
        }
    
        void Button1_Click(object sender, EventArgs e)
        {
            bool ok = new UsersData().Select(TextBox1.Text, TextBox2.Text);
            if (ok)
            {
                Response.Cookies["user"].Value = TextBox1.Text;
    
                if (CheckBox1.Checked)
                {
                    Response.Cookies["user"].Expires = DateTime.Now.AddDays(7);
                }
                Response.Redirect("Default.aspx");
            }
    
        }


    登陆状态保持:
    Cookies

    在用户电脑的硬盘上保存的一段文本

    http协议包括浏览器,允许站点在用户电脑上以Cookies的形式来临时保存数据

    如果没有设置保存时间,会话cookies
    1、如果你20分钟内没有再次刷新页面,那么此cookies就会自动删除掉
    2、当当前访问连接中断,如关闭浏览器,那么cookies会自动删除

    作用:
    保持用户的登陆状态

  • 相关阅读:
    linux面试常问命令
    图卷积网络 GCN Graph Convolutional Network(谱域GCN)的理解和详细推导
    总结一些牛客网上 的算法岗面试题
    Pytorch-Tensor基本操作
    C++使用代码创建一个Windows桌面应用程序
    Windows中的消息与消息队列
    解决COM组件在WPF设计器中命名空间不存在XXX的问题(附带如何在WPF中使用APlayer引擎)
    Mybatis的一级缓存
    面试题:zookeeper实现分布式锁
    sublime text 文件默认打开格式
  • 原文地址:https://www.cnblogs.com/zzzy0828/p/5904004.html
Copyright © 2020-2023  润新知