我应该如何存储少量的事件数据,并在两个asp.net页面之间共享

本文关键字:两个 asp net 共享 之间 数据 存储 何存储 我应该 事件 | 更新日期: 2023-09-27 18:16:51

我是一名PHP开发人员,并被要求对Asp. js进行一些修改。网的网站。有一个硬编码表在一页,其中包含事件信息(日期,地点等)。该页面使用javascript根据事件是否已经发生来切换表行颜色。

我需要在另一个页面上添加一个块,该页面显示基于当前日期的2个即将到来的事件。在页面之间存储和共享事件数据的最简单方法是什么?没有可用的数据库,所以它需要一个本地文件或数组等。

我希望你能给我一些关于好的库/技术的建议。

我应该如何存储少量的事件数据,并在两个asp.net页面之间共享

创建一个代表Event的小类,然后您可以将其存储在Session状态:

public class EventInfo
{
    //c# auto-implemented properties
    public string Bla {get; set;} 
    public int Bla2 {get; set;}
}
//set on one page
var eventInfo = new EventInfo();
eventInfo.Bla = "bla";
eventInfo.Bla1 = 2;
Sesssion["eventinfo"] = eventInfoObject;

//get on another
var eventInfo = (EventInfo)Session["eventinfo"]; //add null checks etc
string bla = eventInfo.Bla;
int Bla2 = eventInfo.Bla2;
//************************************************//
//set multiple events in Session  
List<EventInfo> events = new List<EventInfo>();   
events.Add(new EventInfo{ Bla= "bla", Bla1 = 2});
events.Add(new EventInfo{ Bla= "bla2", Bla1 = 3});
Sesssion["eventCollection"] = events ;
//get 
List<EventInfo> events = (List<EventInfo>)Session["eventCollection"]; //add null checks etc
foreach(EventInfo event in Events)
{
    string bla = event.Bla;
    int Bla2 = event.Bla2;
}

可以使用session。

 Session["data"] = value;

您可以在会话中存储任何对象,并在检索时对其进行强制转换,例如

Session["data"] = 1;

int value =  Session["data"] != null ? (int)Session["data"] : 0

之类的

最简单的方法是使用Session变量。