【问题标题】:Read cookies with js or jquery which is created by asp.net使用asp.net创建的js或jquery读取cookies
【发布时间】:2014-01-29 13:19:28
【问题描述】:

我使用 ASP.Net C# 创建了几个 cookie,我想从客户端读取它们,我可以使用 jquery datepicker 区域中的哪一个。

HttpCookie cookies = new HttpCookie("lang");
        cookies["Language_ID"] = "2";
        cookies["CultureInfo"] = "en";
        cookies.Expires = DateTime.Now.AddMonths(1);
        Response.Cookies.Add(cookies);

这是我的 asp.net 代码和 cookie 的结果: http://i.stack.imgur.com/lYzYP.png

我想以参数方式更改 datepicker 的语言,这是它的 jquery 代码。如何修改它以返回 lang>CultureInfo cookie。

$.datepicker.setDefaults($.datepicker.regional[mycookiecultureinfo]);

【问题讨论】:

  • 还有其他最简单的方法可以将数据从服务器发送到客户端页面,您确定真的需要使用cookies吗?
  • 我该怎么做?我用的是不同的页面,有点复杂。
  • 并且js代码在单独的文件中。

标签: javascript jquery asp.net cookies datepicker


【解决方案1】:

如果您使用网络表单,您可以在 ASPX 页面上放置一个隐藏字段控件:

<asp:hiddenfield id="hdfCultureInfo" value="" runat="server"/>

你必须在你的代码后面设置值:

hdfCultureInfo.Value = "en";

现在,您可以使用 JQuery 在脚本中获取此值:

var ci= $('<%=hdfCultureInfo.ClientID%>').val();
$.datepicker.setDefaults($.datepicker.regional[ci]);

另一种方式,如果你想在其他页面上共享这些数据,你可以存储在一个 Session 中:

Session["CultureInfo"] = "us"

在 ASPX 页面上,只需在开始脚本文件之前将其包含在标题中:

<script type="text/javascript">
var ci = '<%=(string)Session["CultureInfo"]%>';
</script>

但如果您使用 MVC,则可以使用 ViewData 传递值并使用 Razor 写入任何位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多