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

一、内置对象
(一)Response - 响应请求对象
1.定义:Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应。Response对象只提供了一个数据集合cookie,它用于在客户端写入cookie值。若指定的cookie不存在,则创建它。若存在,则将自动进行更新。结果返回给客户端浏览器。
2.方法
(1)Redirect
用法:Response.Redirect("url")
作用是在服务器端重定向于另一个网页
(2)Write
功能:向客户端发送浏览器能够处理的各种数据,包括:html代码,脚本程序等
用法:Response.Write("")输入字符串在界面里显示,输入<script>alert('')</script>弹出对话框
(二)Request - 获取请求对象
Request["key"] - 默认返回的就是string类型
来获取传递过来的值,Request对象的作用是与客户端交互,收集客户端的Form、Cookies、超链接,或者收集服务器端的环境变量。
二、跨页面传值
QueryString - 地址栏数据拼接
在地址栏中拼接?key=value key为任意字符,value为要传的值,?与=之间不能有空格
多条数据传值 在地址栏继续拼接&key=value 
void Button1_Click(object sender, EventArgs e)
{
string path = "Default2.aspx?aaa=" + TextBox1.Text + "&bbb=" + TextBox2.Text;

Response.Redirect(path);//或使用Server.Transfer(path);
}
接收值得界面:
Label1.Text = Request["aaa"];
Label1.Text += "," + Request["bbb"];

三、Repeater删改

在ItemTemplate中再添加一列,放修改与删除的超链接

<td>
                         <a id="lian"  onclick="return del()" href="Delete.aspx?id=<%#Eval("Code") %>">删除</a>&nbsp;
                        <a  target="_blank"  href="Update.aspx?up=<%#Eval("Code") %>">修改</a>
                    </td>

(一)删除

1.写好删除方法,主页面为Default.aspx ,删除页为Delete.aspx

2.添加js脚本,判断是否要删除

复制代码
 <script>
     function del() {
         var j = document.getElementById("lian");
         var ok = confirm("是否确定要删除?");
         if (ok == false) {
             return false;
         }
         return true;
     };
        </script>
复制代码

3.在Delete的Page_Load中执行删除命令,并刷新页面

复制代码
  //将要删除的主键值取出来
        string Code = Request["id"];
        //将主键值传到方法里进行删除
    bool b= new StudentData().delete(Code);
        //删除完毕后跳转会显示页面
        if(b)
        {
            Response.Redirect("Default.aspx");
  }
复制代码

(二)修改

1.构造修改界面,并进行验证及数据指向

2.将原数据展现到页面中

3.执行修改操作,修改完后关闭修改页面,并刷新主界面

复制代码
protected void Button1_Click(object sender, EventArgs e)
{
    Student s = new Student();
    s.Code = Xuehao_Text.Text;
    s.Name = Name_Text.Text;
    s.Sex =Convert.ToBoolean( RadioButtonList1.SelectedValue);
    string time = Year_Dr.SelectedValue + "-" + Mouth_dr.SelectedValue + "-" + Day_dr.SelectedValue;
    s.Birthday = Convert.ToDateTime(time);
    s.SubjectCode = Subject_DW.SelectedValue;
    s.Nation = Nation_Dw.SelectedValue;
    bool b = new StudentData().update(s);
    if (b)
    {
        Response.Write("<script>");
        Response.Write("alert('修改成功!');");
        Response.Write("window.opener.location.href='Default.aspx';");
        Response.Write("window.close();");
        Response.Write("</script>");
    }
}
原文地址:https://www.cnblogs.com/1711643472qq/p/6179278.html