Webform 内置对象(Response对象、Request对象,QueryString)
Response对象:响应请求
	Response.Write("<script>alert('添加成功!')</script>");
    Response.Redirect("Default.aspx");
Request对象:获取请求
	Request["key"]来获取传递过来的值
QueryString:地址栏数据传递   ?key=value&key=value
注意事项:不需要保密的东西可以传
			不要传过长东西,因为长度有限,过长会造成数据丢失
Cookies:
在用户电脑的硬盘上保存的一段文本
http协议包括浏览器,允许站点在用户电脑上以Cookies的形式来临时保存数据
如果没有设置保存时间,会话cookies
	1、如果你20分钟内没有再次刷新页面,那么此cookies就会自动删除掉
	2、当当前访问连接中断,如关闭浏览器,那么cookies会自动删除
作用:
保持用户的登陆状态
对数据表的增删改:
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 />
               <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 >= ; i--)
{
//添加年
ListItem li = new ListItem(i.ToString(),i.ToString());
DropDownList2.Items.Add(li);
} for (int i = ; i <= ; i++)
{
//月
ListItem li = new ListItem(i.ToString(), i.ToString());
DropDownList3.Items.Add(li);
} for (int i = ; i <= ; 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:
Webform 内置对象(Response对象、Request对象,QueryString)的更多相关文章
- webform内置对象
		1.Response和Request地址栏数据拼接 QueryString 优点:简单好用:速度快:不消耗服务器内存. 缺点:只能传字符串:保密性差(调转页面后在地址栏显示):长度有限.响应请求对象 ... 
- python 迭代器(一):迭代器基础(一) 语言内部使用 iter(...) 内置函数处理可迭代对象的方式
		简介 在 Python 中,所有集合都可以迭代.在 Python 语言内部,迭代器用于支持: 1.for 循环2.构建和扩展集合类型3.逐行遍历文本文件4.列表推导.字典推导和集合推导5.元组拆包6. ... 
- Webform 内置对象   Response对象、Request对象,QueryString
		Request对象:获取请求Request["key"]来获取传递过来的值 QueryString:地址栏数据传递 ?key=value&key=value注意事项:不需要 ... 
- Webform(内置对象-Response与Redirect、QueryString传值、Repeater删改)
		一.内置对象(一)Response - 响应请求对象1.定义:Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应.Response对象只提供了一个数据集合cookie, ... 
- WebForm 内置对象2
		Session: 与Cookies相比 相同点:每一台电脑访问服务器,都会是独立的一套session,key值都一样,但是内容都是不一样的 以上所有内容,都跟cookies一样 不同点: 1.Sess ... 
- WebForm 内置对象
		内置对象: Response对象:响应请求 Response.Write("<script>alert('添加成功!')</script>"); Respo ... 
- C# WebForm内置对象2+Repeater的Command
		内置对象:用于页面之间的数据交互 为什么要使用这么内置对象?因为HTTP的无状态性. Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及 ... 
- C#WebForm内置对象
		内置对象: Response对象:响应请求Response.Write("<script>alert('添加成功!')</script>");Respons ... 
- WebForm 内置对象QueryString、Repeater删改
		一.内置对象QueryString--地址栏数据拼接 格式:?key=value 如:string path = "Default2.aspx?aaa=" + TextBox1.T ... 
随机推荐
- MySQL基础笔记(四) 索引
			一.什么是索引 索引(Index),可以看作一个指针,指向表里的数据.当数据库没有索引时,查找信息通常是全表扫描:使用了索引,它就会直接引导到数据在表里的准确物理位置. 优点:索引的主要目的是提高数据 ... 
- LeetCode 168 Excel Sheet Column Title(Excel的列向表标题)
			翻译 给定一个正整数,返回它作为出如今Excel表中的正确列向标题. 比如: 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 - ... 
- 如约而至,Java 10 正式发布!   Spring+SpringMVC+MyBatis+easyUI整合进阶篇(十四)Redis缓存正确的使用姿势  努力的孩子运气不会太差,跌宕的人生定当更加精彩  优先队列详解(转载)
			如约而至,Java 10 正式发布! 3 月 20 日,Oracle 宣布 Java 10 正式发布. 官方已提供下载:http://www.oracle.com/technetwork/java ... 
- wsdl2objc定制(一)namespace
			1.问题抛出: 如今还是有非常多人使用 wsdl2objc 来调用webservice,可是有时候会有不开心的事情发生, <soap:Envelope xmlns:soap="http ... 
- leetcode:283. Move Zeroes(Java)解答
			转载请注明出处:z_zhaojun的博客 原文地址:http://blog.csdn.net/u012975705/article/details/50493772 题目地址:https://leet ... 
- iOS 配置支付宝
			尽管非常easy,可是对于第一次接触支付宝配置的啊猿.有些细节摸不着头脑.今天就来写一个流程配置. 1.创建一个project,然后再创建一个目录,把支付宝sdk要用到的都拖到目录中.然后拖到proj ... 
- 使用spring框架时,使用xml还是注解
			1 xml的优缺点 1.1 优点 解耦合,方便维护.xml不入侵代码,方便代码阅读. 1.2 缺点 开发速度慢. 2 注解的优缺点 2.1 优点 能够加快开发速度,因为它将常用的主体逻辑隐藏在注解中了 ... 
- MVC框架显示层——Velocity技术
			Velocity,名称字面翻译为:速度.速率.迅速,用在Web开发里,用过的人可能不多,大都基本知道和在使用Struts,到底Velocity和Struts(Taglib和Tiles)是如何联系?在技 ... 
- 浅谈cookie 和session 的区别
			具体来说 cookie 是保存在“客户端”的,而session是保存在“服务端”的 cookie 是通过扩展http协议实现的 cookie 主要包括 :名字,值,过期时间,路径和域: 如果cooki ... 
- 删除oracle数据库用户的dba权限(当出现同一用户DBA可以登录,normal不能登录)“无法对SYS拥有的对象创建触发器”
			系统报错:“无法对SYS拥有的对象创建触发器”,搞不懂是什么原因了,到底这触发器要用什么用户才能建立啊? ORA-04089: 无法对 SYS 拥有的对象创建触发器 第一种方式: 首先,用sys用户a ... 
