Response、Request、QueryString,修改,Cookies
Response对象:响应请求
Response.Write("<script>alert('添加成功!')</script>");
Response.Redirect("Default.aspx");
Request对象:获取请求
Request["key"]来获取传递过来的值
QueryString:地址栏数据传递 ?key=value&key=value
注意事项:不需要保密的东西可以传
不要传过长东西,因为长度有限,过长会造成数据丢失
修改设置成超链接,点击打开Default6页面,把UserName的值传过去,
对数据表的增删改:
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 >= 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写
}
}
Response、Request、QueryString,修改,Cookies的更多相关文章
- csharp: Request.Form,Request.QueryString,Request.Params,Request.Cookies
/// <summary> /// Request.Form,Request.QueryString,Request.Params /// http://msdn.microsoft.co ...
- Request.Querystring中文乱码问题解决
现象:近期项目中用到查询字符串传值,如果传递的是英文一切正常,但是传递中文时,使用request.querystring[]得到的是乱码. 原因:不知道为什么,可能是编码不一致问题 解决方法1:修改w ...
- Asp.net中request.QueryString与request.Params的区别 【转】
Request.Form:获取以POST方式提交的数据(接收Form提交来的数据): Request.QueryString:获取地址栏参数(以GET方式提交的数据) Request:包含以上两种方式 ...
- 关于ASP.NET中Request.QueryString的乱码问题(转)
转自 http://www.cnblogs.com/chinhr/archive/2008/09/23/1296582.html 今天在使用Request.QueryString的时候,发现所有接收到 ...
- request和request.form和request.querystring的区别
asp中获取传递的参数,一般用request或者用request成员函数request.form,两种方式都可以获取页面表单传递过来的参数值,一直没留意两种方法有什么区别,我一般喜欢用request( ...
- 【乱码】Request QueryString 编码,传值乱码的几种情况和解决办法(单页,多页)
自己的项目还好,合作接口神马的传值乱码是很常见的. 遇到了几次这种恶心情况,积累了一点经验,有不对的地方欢迎指正. 乱码原因: 一般来说,常用的编码不是utf-8就是gb2312,一样的 HttpUt ...
- C#中 Request, Request.params , Request.querystring , Request.Form 区别 与联系用法
C#中 Request, Request.params , Request.querystring , Request.Form 区别 与联系用法? Request.params , Request ...
- NodeJS系列~第一个小例子,实现了request.querystring功能
返回目录 百度百科上: Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始,在Node中,Http是首要的.Node为创建http服务器作了优化,所以在网上 ...
- request.querystring和request.form、session的区别
1. request.querystring是用来接收地址里面问号“?”后面的参数的内容, 用get方法读取的 不安全 request.form是用来接收表单递交来的数据 ,是用post方法读取 ...
- Remove掉Request.QueryString
好久上博客来了,最近有点忙,有点懒. 今天在解决一个Request.QueryString 传值的问题上遇到了,当不是第一次加载时需要把Request.QueryString的值赋值为null,刚开始 ...
随机推荐
- vue + element-ui Table的数据多选,多页选择数据回显,分页记录保存选中的数据。
业务的需要:我要对与会人员勾选,记录所选的与会人员,并且点击到别的页面上时也要记录所勾选的.第一次尝试,每次点击下一页数据都会清空.然后我就去element ui官网查看了api.实现如下: 在tab ...
- SWIFT中切換UIContainerView內的Controller
如下,一个UIContainerView内切换两个Controller,当点击登录的时候UIContainerView的视图为LoginController,当点击登记的时候UIContainerVi ...
- vue 移动端添加 时间日期选择器
效果: index.vue <template> <div class="user-wrap" style="padding-bottom: 0;tex ...
- PHP中redis的使用
redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合).这些数据类 ...
- 第二篇 makefile的基本结构
makefile用于定义并描述源文件之间的依赖关系,用于说明如何编译各个源文件并生成最终的可执行文件,规则是makefile中的基本组成部分. 一个最基本的依赖规则如下所示: targets代表这个规 ...
- 前端开发 —— js 常用工具函数(utilities)
1. 时间 function getCurTime() { var date = new Date(); return date.toLocaleTimeString(); } date.toLoca ...
- ubuntu18.04 server配置静态ip (转载)
原文地址: https://blog.csdn.net/mossan/article/details/80381679 最新发布的ubuntu18.04 server,启用了新的网络工具netplan ...
- Linux服务器没有GUI的情况下使用matplotlib绘图
最近看到关于 python3 中用matplotlib 不进行交互画图,而是直接将图保存到硬盘,主要的一个设置就是 matplotlib.use('agg') 注明: 其实不设置 matplotl ...
- matlab sparse()
一.sparse()的稀疏矩阵简单运用 1.>> A = [0, 0, 0, 0; 0, 0, 1, 0; 0, 0, 0, 0; 0, 1, 0, 2]; >> sparse ...
- Linux基础和网络管理上机试题 - imsoft.cnblogs
一.(使用at命令实现任务的的自动化,要求用一条条的指令完成) 找出系统中任何以txt为后缀名的文档,并且进行打印.打印结束后给用户foxy发出邮件通知取件.指定时间为十二月二十五日凌晨两点 ...