response.redirect 用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了response.redirect 用法相关的知识,希望对你有一定的参考价值。

asp 中 用response.redirect () 跳转到不同的页面是怎么写的,比如从index.asp跳到admin目录下的a.asp 还有从a跳回 index.asp怎么写的 请教高手

1、常用方法:
ServletResponse -- 通用的response提供了一个响应应该具有最基本的属性和方法

HttpServletResponse -- 在ServletResponse的基础上针对于HTTP协议增加了很多强化的属性和方法

2、redirect 重定向的通用语法为:redirect(url,params=array(),delay=0,msg=''),假设当前为默认 HOME分组 Aritcle模块 insert操作

3、response

英 [rɪ'spɒns]  美 [rɪ'spɑns] 

n. 响应;反应;回答

4、redirect

英 [[ˌri:dəˈrekt]]  美 [[ˌridɪˈrɛkt,-daɪ-]] 

    vt. 使改方向;重新寄送

    adj. 再直接的

    n. 再直接询问

例句:

Redirect to the next page. 

重定向到下一个网页。

This means that you can redirect output to a remote command. 

这意味着您可以将输出重新定向到远程命令。

In theory, if a search engine finds a URL with a 301 redirect on it, they will follow the redirect to the new URL then de-index the old URL. 

从理论上来讲,如果一个搜索引擎找到的一个使用301重定向的URL,它将跟踪这个重定向的URL然后在索引库中去掉旧的URL。

They have made generous response to the appeals for funds. 

他们对募集资金的呼吁作出了慷慨的响应。

His eloquent speech called out a response in the heart of every man. 

他雄辩的演说在每个人的心里引起了反应。

We can do this because of the void response for both the requestor and provider. 

我们可以这样做是因为请求者和提供者中的响应都是无效的。

参考技术A ~/表示从根目录开始,
./表示从当前目录开始。
../表示当前目录的上级目录中。
因此从index.asp跳到admin目录下的a.asp,从根目录开始
Response.Redirect("~/admin/a.asp")
再从a跳回 index.asp,只需要到其上级目录
Response.Redirect("../index.asp")本回答被提问者和网友采纳
参考技术B '从index.asp跳到admin目录下的a.asp'
Response.Redirect("admin/a.asp")
'从a跳回 index.asp'
Response.Redirect("../index.asp")
参考技术C 都是先后台代码后前台代码呢。服务器在编译过程中,就转走了。不执行前台页面。前台页面是在客户端执行的。必须编译完,发给客户端,才会弹处。所以弹出不起作用。

webform(内置对象)

一、内置对象

(一)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、超链接,或者收集服务器端的环境变量。

(三)Session  相对全局对象

在不同的浏览器之间传值,像银行之类的网站为了安全把用户名密码保存在session里面。每一台电脑访问服务器,都会是独立的一套session,key值都一样,但是内容都是不一样的。

赋值:Session["key"] = 值;

在另一个网页取值:首先先要判断Session["key"] 是不是null,不是的话取值,否则定向到原网页

 string a = Session["key"];

优缺点:

Session是非常安全的,因为它存在于服务器的内存中,取数据也是最快的;但是,Session不要滥用,因为会造成服务器内存溢出,导致服务器崩溃
Session里面不要放大东西,如果不用那么就会造成资源浪费。

Session生命周期:20分钟

(四)Cookies

赋值:   Response.Cookies["key"].Value =值;

取值: Request.Cookies["key"].Value;

与Session比较:

相同点:每一台电脑访问服务器,都会是独立的一套session或者Cookies,key值都一样,但是内容都是不一样的。

不同点:●Session的保存位置是保存在服务器内存上,Cookies保存在用户硬盘上

           ●Session没有持久的,在不对页面进行任何操作的情况下,它的保存周期就是20分钟;Cookies可以持久也可不持久,取决于用户

设置生命周期: Response.Cookies["key"].Expires = DateTime.Now.AddDays(7);//保存7天

问题:如果传的是中文会乱码

解决方法:

string a = HttpUtility.UrlEncode(值, System.Text.Encoding.GetEncoding("utf-8"));
Response.Cookies["key"].Value = a;
Response.Redirect("Default2.aspx");
if (Request.Cookies["user"] != null)          解码
{
string a = HttpUtility.UrlDecode(Request.Cookies["key"].Value, System.Text.Encoding.GetEncoding("utf-8"));
Label1.Text = a;
}

(五)Application

它是全局对象,全局只有这一个对象
只要被创建出来,所有人取的值都是一样的
生命周期:永久
保存位置:服务端

赋值:Application["key"]=值;
取值:Application("key");

(六)ViewState(了解)

理解成为病例

类似于中间过程,由于网页的不固定性,点击按钮会刷新,控件赋得值借助iewstate保存,把刷新前的值保存成专门代码。刷新后再赋值给控件

二、Repeater的Command操作

1、ItemCommand事件 :在Repeater中所有能触发事件的控件,都会来触发这一个事件

                                    后台创建:在Page_Load中  Repeater1.ItemCommand +=  ,然后双击Tab键创建

2、CommandName : 判断点击的是什么按钮,

                                后台调用:e.CommandName

3、CommandArgument : 触发事件所传递过来的主键值数据,放在这里面 界面值绑定时要用  单引号 !!!!!! 

                                      后台调用:e.CommandArgumen

已删除为例

   <asp:Button ID="Button1" CommandName="Delete" CommandArgument=<%#Eval("UserName") %> runat="server" Text="删除" />  //前台代码
--------------------------------------------------------------------------------------
后台代码
 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Repeater1.DataSource = new UsersData().Select();
            Repeater1.DataBind();
        }

        Repeater1.ItemCommand += Repeater1_ItemCommand;
    }

    void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName == "Delete")
        {
            new UsersData().Delete(e.CommandArgument.ToString());
        }
        
        }


    }

 

















以上是关于response.redirect 用法的主要内容,如果未能解决你的问题,请参考以下文章

asp怎样用response.redirect进行页面跳转

为啥这个response.redirect不起作用?

RedirectToAction

webform(内置对象)

Webform(内置对象-Response与RedirectQueryString传值Repeater删改)

Response.Write 和 Response.redirect 不可同时使用