在Web的开发过程中,避免不了要使用cookie,在这里,我们在前台设置cookie,也可以在后台设置cookie,关键是在前后台设置的cookie,怎么去相互读取,代码如下:
  (1)  前台代码
   <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="getFrontSetCookie.aspx.cs"
    Inherits="Study_JavaScript.Html.getFrontSetCookie" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>前后台Cookie的设置和相互读取</title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="SM" runat="server" EnablePageMethods="true">
    </asp:ScriptManager>
    <div>
        <input type="text" id="txtUser" />
        <br />
        <input type="button" id="btnSetCookie" value="设置Cookie" />
        <br />
        <input type="button" id="btnGetCookie" value="读取后台HttpCookie设置的Cookie" />
    </div>
    </form>
</body>
</html>
<script type="text/javascript">
    document.getElementById("btnSetCookie").onclick = function() {
        document.cookie = "UserName=" + document.getElementById("txtUser").value;
        PageMethods.getCookie(getCookie_Success)
    };
    function getCookie_Success(Result) {
        alert(Result);
    }
    
    document.getElementById("btnGetCookie").onclick = function() {
        PageMethods.setCookie(setCookie_Success);
    };
    function setCookie_Success(Result) {
        if (Result) {
            alert(document.cookie);
        }
    }
</script>
(2) 后台代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;

namespace Study_JavaScript.Html
{
    public partial class getFrontSetCookie : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

}
        /// <summary>
        /// 利用Request.Cookies[""]读取前台通过document.cookie设置的cookie
        /// </summary>
        /// <returns></returns>
        [WebMethod]
        public static string getCookie()
        {
            var cook = HttpContext.Current.Request.Cookies["UserName"].Value;
            HttpCookie houtai = new HttpCookie("houtai");
            houtai.Value = "这是后台设置的Cookie";
            return "Cookie读取成功,前台设置的Cookie为" + cook;
        }
        /// <summary>
        /// 后台利用HttpCookie设置Cookie,在前台通过document.cookie读取
        /// </summary>
        /// <returns></returns>
        [WebMethod]
        public static bool setCookie()
        {
            HttpCookie houtai = new HttpCookie("houtai"); 
            houtai.Value = "jackie";
            HttpContext.Current.Response.Cookies.Add(houtai);
            return true;
        }
    }
}
总结:(1) 红色部分为后台读取前台设置的cookie的方法.
         (2) 蓝色部分为前台读取后台设置的cookie的方法,如果后台设置多个cookie的话,前台通过document.cookie读取的就是全部的。

Js和asp.net各自设置的cookie相互读取的方法的更多相关文章

  1. 设置全局theme及读取theme方法

    在web.config中设置了默认的Theme,其部分如下的配置节点: <system.web> <pages theme="Default" controlRe ...

  2. js无法获取.net设置的cookie

    使用CookieHelper帮助类: public class CookieHelper { #region 获取Cookie /// <summary> /// 获得Cookie的值 / ...

  3. 运用JS设置cookie、读取cookie、删除cookie

    JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的.而cookie是运行在客户端的,所以可以用JS来设置cookie. 假设有这样一种 ...

  4. JS设置cookie、读取cookie、删除cookie

    JS设置cookie.读取cookie.删除cookie       JS设置cookie,注意一定要path=/ ,根目录,不然其他目录可能查询不到..默认是本目录. document.cookie ...

  5. JS设置cookie、读取cookie、删除cookie(转载)

    JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的.而cookie是运行在客户端的,所以可以用JS来设置cookie.假设有这样一种情 ...

  6. 运用JS设置cookie、读取cookie、删除cookiev

    JS设置cookie: 假设在A页面中要保存变量username的值("jack")到cookie中,key值为name,则相应的JS代码为: document.cookie=&q ...

  7. JS设置cookie、读取cookie、删除cookie(转)

    JS设置cookie.读取cookie.删除cookie 转载  2015-04-17   投稿:hebedich    我要评论 Js操作Cookie总结(设置,读取,删除),工作中经常会用到的哦! ...

  8. js自动记忆用户名(可以设置cookie多存几天)

    js自动记忆用户名(可以设置cookie多存几天) 一.总结 1.记住密码:因为cookie是存在本地的,也可以多存几天,所以记住密码的操作只需要读取cookie,将其中的账号密码直接显示在输入框就好 ...

  9. Asp.Net MVC 中的 Cookie(译)

    Asp.Net MVC 中的 Cookie(译) Cookie Cookie是请求服务器或访问Web页面时携带的一个小的文本信息. Cookie为Web应用程序中提供了一种存储特定用户信息的方法.Co ...

随机推荐

  1. 对比WDCP面板与AMH面板的区别与选择

    转载: http://www.laozuo.org/2760.html | 老左博客 随着VPS主机的性价比提高(其实就是降价)我们很多站长会越来越多的选择使用VPS搭建网站或者运营一些项目,相比较而 ...

  2. python遍历数组的两种方法

    第一种,最常用的,通过for in遍历数组 1 2 3 4 5 6 7 8 colours = ["red","green","blue"] ...

  3. object-c面向对象1

    ---恢复内容开始--- 类,对象,方法,属性. 类是object-c一种重要的数据类型,是组成object-c程序的基本要素.object-c的类声明和实现包括两个部分:接口和实现部分. @inte ...

  4. css form 表单组对齐

    2014年7月1日 15:31:17 第一次写css,见谅 css: .form-box .form-group .form-label {text-align: right; width: 200p ...

  5. Delphi经验总结(1)

    先人的DELPHI基础开发技巧 ◇[DELPHI]网络邻居复制文件 uses shellapi; copyfile(pchar('newfile.txt'),pchar('//computername ...

  6. win10远程桌面连接

    有的情况下,Win10设置了允许远程桌面连接后,远程主机仍然不能桌面连接到目标主机上,这时可以在目标主机上尝试如下修改: 开始-->运行->gpedit.msc->计算机配置-> ...

  7. canvas实践小实例二 —— 扇形

    俗话说:发图不留种,菊花万人捅!我这里想延伸一下:教学不给例,说你是傻逼!哎呀,还挺押韵,嘻嘻,开个玩笑! 我们都讲了四期API的知识了,估计大家看的也是枯燥的很啊,前面的小实例也是太简单,简直不解渴 ...

  8. poj 2136 Vertical Histogram 解题报告

    题目链接:http://poj.org/problem?id=2136 题意不难理解,就是输入四行字符串(每行字符总数不超过72个),统计26个英文字母的数目,并按柱状图的形式输出.我的思路就是,先用 ...

  9. 打开genesis时一直在等待,后出现Timeout in communication read解决方法

    运行输入:netsh winsock reset 然后重启电脑

  10. IntelliJ IDEA快捷键和常用设置

    一   快捷键的使用       1.文本编辑删除 ctr + y复制 ctr + D2.智能提示提示 ctr + space智能提示 ctr + shift + space完成当前语句 ctr + ...