内置对象:

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

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

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

增删改查

添加用户

<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会自动删除

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

C#WebForm内置对象的更多相关文章

  1. WebForm 内置对象2

    Session: 与Cookies相比 相同点:每一台电脑访问服务器,都会是独立的一套session,key值都一样,但是内容都是不一样的 以上所有内容,都跟cookies一样 不同点: 1.Sess ...

  2. WebForm 内置对象

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

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

    内置对象:用于页面之间的数据交互 为什么要使用这么内置对象?因为HTTP的无状态性. Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及 ...

  4. WebForm 内置对象QueryString、Repeater删改

    一.内置对象QueryString--地址栏数据拼接 格式:?key=value 如:string path = "Default2.aspx?aaa=" + TextBox1.T ...

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

    一.内置对象 1.Response对象:响应请求 Response.Write("<script>alert('添加成功!')</script>"); → ...

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

    一.内置对象 1.Application 存贮在服务器端,占用服务器内存生命周期:永久 所有人访问的都是这一个对象 传值:传的是object类型可以传对象. string s =TextBox1.Te ...

  7. WebForm内置对象:Application和ViewState、Repeater的Command用法

    一.内置对象 1.Application 存贮在服务器端,占用服务器内存生命周期:永久 所有人访问的都是这一个对象 传值:传的是object类型可以传对象. string s =TextBox1.Te ...

  8. Webform 内置对象2(Session、Application)、Repeater的Command操作

    内置对象: 1.Session:跟Cookies一样用来存储用户数据,但保存位置不同,保存在服务器内存上 每一台电脑访问服务器,都会是独立的一套session,key值都一样,但是内容都是不一样的 S ...

  9. webform内置对象

    1.Response和Request地址栏数据拼接 QueryString 优点:简单好用:速度快:不消耗服务器内存. 缺点:只能传字符串:保密性差(调转页面后在地址栏显示):长度有限.响应请求对象 ...

随机推荐

  1. IOS 修改UIAlertController的按钮标题的字体颜色,字号,内容

    IOS 修改UIAlertController的按钮标题的字体颜色,字号,内容 UIAlertController *alertVC = [UIAlertController alertControl ...

  2. git github简单知识

    Git 常用命令 git init here -- 创建本地仓库(repository),将会在文件夹下创建一个 .git 文件夹,.git 文件夹里存储了所有的版本信息.标记等内容 git remo ...

  3. .md文件的语法

    md全称是Macdown,.md文件可以当记事本一样使用,作为编辑软件,还可以自己添加样式,图片,链接等,可以用记事本打开,也可以保持样式排版转换为html文件,语法比较简单..md除了编辑容易的优势 ...

  4. ECMA中的switch语句

    switch借鉴自其他语言,但也有自己的特色. 1.可以在switch语句中使用任何数据类型(数值.字符串.对象等),很多其他语言中只能使用数值. 2.每个case的值不一定是常量,可以是变量或者表达 ...

  5. JDBC的简单使用

    JDBC的英文全称是:  java Data Base Connectivity JDBC的主要作用:  (是java数据库连接技术的简称)JDBC是由一系列连接(Conneation).SQL语句( ...

  6. 初学者-微信小程序 问题解决办法记录

    1.tabBar不显示的问题 1),检查大小写 2),pagePath路径书写,和pages路径一样,不能多或者少一个"/"或者"?" 2.tabBar和nav ...

  7. 个人对于Virtual DOM的一些理解

    之前一直认为react的Virtual DOM操作会比传统的操作DOM要快,这其实是错误的,React 从来没有说过 "React 比原生操作 DOM 快".如果没有 Virtua ...

  8. [转]Part1: Understanding !PTE , Part 1: Let’s get physical

    http://blogs.msdn.com/b/ntdebugging/archive/2010/02/05/understanding-pte-part-1-let-s-get-physical.a ...

  9. 基于Apache+php+mysql的许愿墙网站的搭建create database xyq; //创建xyq数据库

    1.准备CentOS7与CentOS5的基础配置 2.在两台虚拟机中配置yum. 3.在CentOS7中安装httpd与php与php-mysql PS:截图时已安装 CentOS7 关闭防火墙与se ...

  10. 双十一 VS 火车票(12306)

    火车票开售了,又是一年,code了一年,咱们也该回顾回顾了. 还记得12306上线之初各种技术大牛给人家出方案,吐槽人家外包费用?我们来回顾回顾. 就园子里都过千篇文章来侃这事儿,请问有多少主题的文章 ...