"我的需求是什么"
我有一个.net7.0 asp.net-webapp(剃刀)。有我的cshtml的一些部分,我想根据每个请求定制,这将由C#相应的PageModel类代码确定。
"我所做的“
1 -使用类静态变量。
结果-错误。知道他们是相同的所有用户,所以它会破坏网站的功能。
2 -使用cookies
结果-cookie只能附加到响应和读取请求,因此数据不能在一个请求内传输,但它有利于跨请求传输数据。
3 -查看数据[“名称”]
结果-发现符合我的需要。数据仅适用于该请求。
"我想知道的是“
1 -请求结束后,视图数据中的数据是否被销毁,或者在服务器内存中堆积。
2 -以这种方式使用视图数据安全吗?在使用视图数据时有什么需要记住的吗?这样它才安全,不会加载服务器并提供所需的功能。
1条答案
按热度按时间bsxbgnwa1#
您实际上还没有给出您需要什么的任何细节,但是作为对主要问题的回答,ViewData不是跨请求存储的,它是PageModel的一个属性,随每个请求示例化,并在处理请求并生成响应后销毁。
ViewData用于将数据传递到视图/页面。它不是强类型的,并且容易出错。因此,建议使用PageModel的公共属性将数据传递到视图/页面。ViewData的主要用途是将数据传递到弱类型的布局页面。
https://www.learnrazorpages.com/razor-pages/viewdata