标签: session-variables

我可以将Scripting Dictionary存储在会话变量中吗?

我有一个经典的ASP网站,我在用户登录时创建一个字典,然后将该字典存储在会话变量中,如此...

dim objDict
set objDict = server.createobject("scripting.dictionary")
' processing here to fill dictionary
set session("user") = objDict
Run Code Online (Sandbox Code Playgroud)

这一切工作正常和花花公子,但当我导航到另一个页面并尝试从存储的字典中访问这样的值...

session("user").item("id")
Run Code Online (Sandbox Code Playgroud)

我收到以下错误...

error '80020009'
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我,如果我错误地访问存储的字典?将字典对象存储在会话变量中是一件坏事/坏事吗?

谢谢

dictionary session-variables asp-classic

2
推荐指数
1
解决办法
3289
查看次数

在GridView(ASP.NET)中显示会话变量?

刚从ASP.NET开始,发现很难使用GridView.我有一组Session变量,我想放入GridView控件,但我缺乏知识.文件:

<%@ Page Title="Warehouse" Language="C#" AutoEventWireup="true" 
    MasterPageFile="~/Site.master"
    CodeFile="Warehouse.aspx.cs" Inherits="Warehouse" %>

<asp:Content ID="HeaderContent" runat="server" 
     ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <h2>
        Warehouse
    </h2>
    <asp:Panel ID="WarehousePanel" runat="server">
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
    </asp:Panel>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

在后面的代码中我想将会话变量添加到GridView1,仅用于显示目的.稍后它将连接到数据库,但是为了练习,我想知道如何将会话变量添加到GridView1.文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Warehouse : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["milk"] == null)
                Session["milk"] = "0";
            if (Session["apple"] == null)
                Session["apple"] = "0";
            if (Session["orange"] == null)
                Session["orange"] = "0";

            // …
Run Code Online (Sandbox Code Playgroud)

c# asp.net gridview session-variables

2
推荐指数
1
解决办法
7804
查看次数

为什么这个变量总是返回true?

我正在尝试编写一个登录脚本.登录后,会设置会话变量,并在主页面上运行isLoggedIn函数.问题是,变量$ loggedIn总是返回true.有人可以帮忙吗?

function validateUser($user)
{
    if(isset($user)){
    session_regenerate_id ();//this is a security measure
    $_SESSION['logged'] = 1;
    $_SESSION['userid'] = $user;}
}
//Validates Login
function isLoggedIn()
{
    if($_SESSION['logged'] = 1)
        return true;
    return false;
}

$loggedIn = isLoggedIn();

if($loggedIn){ SHOW CONTENT FOR LOGGED IN USERS }

else { show content for users not logged in }
Run Code Online (Sandbox Code Playgroud)

php session-variables

2
推荐指数
1
解决办法
595
查看次数

在C#中的Page OnInit/OnLoad上添加/删除会话变量

我正在使用C#.

我在C#中使用以下代码:

protected override void OnInit(EventArgs e)
{
    try
    {
        if (Session["boolSignOn"].ToString() == "true".ToString())              
        {              
            lblPanelOpen.Text = Session["panelOpen"].ToString();
        }
        else
        {
            lblPanelOpen.Text = Session["panelOpen"].ToString();
        }
    }
    catch (Exception ex)
    {
        Logger.Error("Error processing request:" + ex.Message);
    }
}
protected override void OnLoad(EventArgs e)
{
    try
    {
        if (!string.IsNullOrEmpty(Session["panelOpen"].ToString()))
        {
            lblPanelOpen.Text = string.Empty;
            Session.Remove("panelOpen");
        }
    }
    catch (Exception ex)
    {
        Logger.Error("Unable to remove the session variable:" + ex.Message);
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我有一个Session["panelOpen"]从另一个用户控件创建的变量,一旦我的页面尝试渲染,我将存储Session["panelOpen"]在我的隐藏lblPanelOpen.Text页面OnInit()方法中,但是当页面被完全加载时,我试图删除会话变量.

请指教!

c# asp.net session-variables

2
推荐指数
1
解决办法
1万
查看次数

会话生命周期问题

我对ASP.NET中会话的生命周期感到有些困惑,这是我的测试用例.

用户登录后,我将一些信息保存到会话变量(例如Session["bob"]="bob")然后我执行"IIS重置".用户仍然登录,但会话数据是null(例如Session["bob"].ToString()抛出一个NullReferenceException.

我预计会话数据仍然存在.除了注销用户之外,我能做些什么吗?我希望只要用户仍然登录,会话数据就会存在.

任何良好的链接,所以我了解正在发生的事情,以及对实际问题的任何帮助非常感谢.我试图谷歌这个,但无法以某种方式构建问题以获得我想要的东西.

asp.net session-variables iisreset

2
推荐指数
1
解决办法
5312
查看次数

会话变量由于某种原因丢失

我尝试建立一个电子商店。asp:imagebutton在单击此图像按钮时,我旁边的每个项目旁边都会检查会话变量是否session["basket"]存在(如果不存在),然后将值添加到列表(实体类)中,并将此列表添加到会话中。

如果会话不为空,那么我将从会话中检索值到列表中,然后更改列表,然后将列表添加回会话中。

问题:

由于某种原因,我突然松开了会话变量。我检查了自己的手表(时间),这是无法预料的,​​有时需要不到1分钟,有时需要3分钟,有时需要5分钟,等等。

为什么我松开会话变量?

我用Google搜索,发现-如果您使用Response.Redirect-没有错误的参数,或者您使用的是其他参数,则可能会发生这种情况UpdatePanel

我暂时在同一页面上丢失了变量。

整个想法都放在一个会话变量中,并在第二aspx页中进行检出并检索该会话变量……但这并不总是可行的,因为在大多数情况下,会话变量为空。有时它可行。

can someone advice ? what and where do I need to check? In some website pages (google) they advice to use caching, but caching is application based, so everybody will retrieve the same value.

In my page any user (authenticated or anynomous user) in other words any user without login should able to order (I'll send invoice to pay upfront)....

I''m not …

c# asp.net iis session-variables iis-7.5

2
推荐指数
1
解决办法
2万
查看次数

php会话变量多维关联数组问题

我环顾四周,但找不到我的$ _SESSION变量中发生的事情的解释.

@ob_start();
$k=@ob_get_contents();
@ob_end_clean();
@session_start();
unset($s,$m);
$m1 = explode(" ", microtime());
$stime = $m1[1] + $m1[0];
echo $k;

$_SESSION['resendConfirmation']['function'] = 'resend';
$_SESSION['resendConfirmation']['id'] = '8';                

print_r($_SESSION);
Run Code Online (Sandbox Code Playgroud)

输出:

Array ( [resendConfirmation] => 8esend ) 
Run Code Online (Sandbox Code Playgroud)

为什么要更换字符串?我以前从未遇到过这个问题.

因此我想要的是:

Array([resendConfirmation] => Array(
                             [id] =>8
                             [function} => resend
                             )
)
Run Code Online (Sandbox Code Playgroud)

我以前从来没有遇到过这种情况,我完全糊涂了!

更新 为了响应@DanRedux,我已经改为两个不存在的变量名称来引用等式,仍然是相同的结果......

$_SESSION['resendConfirmation']['tweak'] = 'resend';
$_SESSION['resendConfirmation']['tweak2'] = '8';
Run Code Online (Sandbox Code Playgroud)

相同的结果:(

是否找到了全站点查询resendConfirmation和没有找到,但是一旦我更改了这个数组名称,它一切都有效,令人困惑,但已修复......

$_SESSION['reConfirm']['function'] = 'resend';
$_SESSION['reConfirm']['id'] = '8';             

print_r($_SESSION);
Run Code Online (Sandbox Code Playgroud)

php associative-array session-variables multidimensional-array

2
推荐指数
2
解决办法
5020
查看次数

登录页面是否需要cookie?

是否需要使用php创建登录页面(使您能够跨多个页面登录),或者会话变量是否可以在不使用cookie的情况下执行此操作?

php cookies session-variables

2
推荐指数
1
解决办法
1127
查看次数

如何使用Session变量asp.net c#

我似乎无法将我的变量传递到下一页.谁能告诉我我做错了什么?

var finalValue = value * sqlCouponValue;
finalValue = Math.Round(finalValue, 2);
Session["discountedOrderTotal"] = finalValue.ToString();
Run Code Online (Sandbox Code Playgroud)

我试图在下一页再次调用它:

e.Row.Cells[4].Text = "$" + Session["discountOrderTotal"];
Run Code Online (Sandbox Code Playgroud)

有没有人有任何想法?我之前从未使用会话变量,也不确定为什么它只是返回一个$.任何帮助将非常感激.谢谢!

c# asp.net session-variables

2
推荐指数
1
解决办法
3万
查看次数

声明将由许多WebMethod函数使用的单个静态变量

我有一个会话变量,我需要在具有许多webmethod函数的cs页面上使用.如果我声明如下,我并不总是得到最新的变量.有时它会给我在最后一个之前存储的变量.我究竟做错了什么?

public partial class uc_functions : MyBasePage
{
    static string ucService = HttpContext.Current.Session["ucService"] as string;
....

[WebMethod] //1
[WebMethod] //2
[WebMethod] //3
Run Code Online (Sandbox Code Playgroud)

c# asp.net session-variables code-behind webmethod

2
推荐指数
1
解决办法
525
查看次数