Webform 内置对象(Response对象、Request对象,QueryString)

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 [email protected],[email protected],[email protected],[email protected],[email protected] where [email protected]";
        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写
    }
}
时间: 2024-12-13 07:51:05

Webform 内置对象(Response对象、Request对象,QueryString)的相关文章

webform内置对象

1.Response和Request地址栏数据拼接 QueryString 优点:简单好用:速度快:不消耗服务器内存. 缺点:只能传字符串:保密性差(调转页面后在地址栏显示):长度有限.响应请求对象 Response获取请求对象 Request(1)跳转页面 Response.Redirect(path);//重定向,可以跳转任何网页 Rerver.Trandfer(path);//跳转后地址栏的网址不改变,只能跳转该网站根目录下的网站 Respone.Write("<script>

Webform 内置对象 Response对象、Request对象,QueryString

Request对象:获取请求Request["key"]来获取传递过来的值 QueryString:地址栏数据传递 ?key=value&key=value注意事项:不需要保密的东西可以传不要传过长东西,因为长度有限,过长会造成数据丢失 Response对象:响应请求Response.Write("<script>alert('添加成功!')</script>");Response.Redirect("Default.asp

Webform(内置对象-Response与Redirect、QueryString传值、Repeater删改)

一.内置对象(一)Response - 响应请求对象1.定义:Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应.Response对象只提供了一个数据集合cookie,它用于在客户端写入cookie值.若指定的cookie不存在,则创建它.若存在,则将自动进行更新.结果返回给客户端浏览器.2.方法(1)Redirect用法:Response.Redirect("url")作用是在服务器端重定向于另一个网页(2)Write功能:向客户端发送浏览器能够处理的

WebForm 内置对象

一.内置对象 (一)Response - 响应请求对象1.定义:Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应.Response对象只提供了一个数据集合cookie,它用于在客户端写入cookie值.若指定的cookie不存在,则创建它.若存在,则将自动进行更新.结果返回给客户端浏览器. Response.Redirect("url"); 如: Response.Redirect("zhu.aspx"); Response.Wri

WebForm 内置对象、数据增删改、状态保持

一.内置对象 1.Response对象:响应请求 Response.Write("<script>alert('添加成功!')</script>"); → 输出 Response.Redirect("Default.aspx"); → 跳转页面 2.Request对象:获取请求 Request["key"]来获取传递过来的值 → key:定义的名字 3.QueryString:地址栏数据传递 ?key=value&

WebForm 内置对象2

Session: 与Cookies相比 相同点:每一台电脑访问服务器,都会是独立的一套session,key值都一样,但是内容都是不一样的 以上所有内容,都跟cookies一样 不同点: 1.Session的保存位置是保存在服务器上2.Session没有持久的,它的保存周期就是20分钟 重点:Session不要滥用,也不要不用,滥用可能会造成服务器内容溢出,不用会造成资源浪费,因为内存中的数据提取及交互是最快的 赋值:Session["key"] = 值:取值:string a = S

WebForm 内置对象QueryString、Repeater删改

一.内置对象QueryString--地址栏数据拼接 格式:?key=value 如:string path = "Default2.aspx?aaa=" + TextBox1.Text + "&bbb=" + TextBox2.Text; 优点:简单好用,速度快,不消耗服务器内存 缺点:只能传字符串,保密性不好,长度有限 1.Response - 响应请求对象 Response.Redirect(path);--重定向 或Server.Transfer(p

C# WebForm内置对象2+Repeater的Command

内置对象:用于页面之间的数据交互 为什么要使用这么内置对象?因为HTTP的无状态性. Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及配置信息.这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去.当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象.当会话过期或被放弃后,服务器将终止该会话.

【2017-05-22】WebForm内置对象:Application和ViewState、Repeater的Command用法

一.内置对象 1.Application 存贮在服务器端,占用服务器内存生命周期:永久 所有人访问的都是这一个对象 传值:传的是object类型可以传对象. string s =TextBox1.Text; Application["aaa"]=s; 取值: if(Application["aaa"]!=null) { Label1.Text=Application["aaa"].toString(); } 2.ViewState ViewSta