Asp.net TempData-“临时数据”;对象引用未设置为对象的实例;刷新页面时
我有一个奇怪的错误。我使用tempData将值从一个控制器发送到另一个控制器。当程序运行时,它工作得非常好,我可以多次调用该函数,临时数据也可以按预期工作 如果我刷新网页,就会出现问题。我收到这个错误:Asp.net TempData-“临时数据”;对象引用未设置为对象的实例;刷新页面时,asp.net,asp.net-mvc,asp.net-core,model-view-controller,tempdata,Asp.net,Asp.net Mvc,Asp.net Core,Model View Controller,Tempdata,我有一个奇怪的错误。我使用tempData将值从一个控制器发送到另一个控制器。当程序运行时,它工作得非常好,我可以多次调用该函数,临时数据也可以按预期工作 如果我刷新网页,就会出现问题。我收到这个错误: object reference not set to an instance of an object 下面是我的代码,其中我向TempData添加了一个值id: public IActionResult Details(int? id) {
object reference not set to an instance of an object
下面是我的代码,其中我向TempData添加了一个值id:
public IActionResult Details(int? id)
{
TempData["ID"] = id;
}
下面是我的代码,我在一个单独的控制器中使用TempData中的值:
public async Task<IActionResult> Index(string SubjectName, int CourseID)
{
//professor id
int professorID = (int)TempData["ID"];
}
公共异步任务索引(字符串SubjectName,int-CourseID)
{
//教授id
int professorID=(int)TempData[“ID”];
}
即使在刷新页面时,是否有办法保存我存储在临时数据中的值
任何提示/建议都将不胜感激。事实证明,您实际上可以调用“keep”函数,这样您在TempData中输入的任何值都可以持续多次调用 在我的第二个控制器中,我访问TempData中的值,我只需要输入以下代码行:
TempData.Keep("ID");
int professorID = (int)TempData["ID"];
即使单击“刷新”,该值仍将保留在字典中。您确定
id!=空
当你刷新时?不,我说刷新时id为空,我问如何在刷新页面时保持id中的值。我将编辑我的问题以使其更清晰。那么,这一切取决于前端(web/javascript)的制作方式。。。