我正在使用TempData存储网站的引荐来源并通过jquery我发出ajax调用来发送电子邮件...我使用tempdata来恢复原始引荐来源网址。
它在第一次读取时工作得很好但是第二次它是空的....我认为这是设计...所以我决定尝试viewdata但这是存储但是当通过控制器读取ajax调用它是空的..
有谁知道我的选择是什么?
这两行的语法
TempData["referrer"] = referrer; // WORKS great on first read and then is NULL
ViewData["referrer"] = referrer; // IS STORED but on first read is NULL
任何帮助真的很感激
答案 0 :(得分:2)
TempData仅在下一个请求中保留,正如您所见 - 当您执行类似重定向的操作时,它确实存在,并且希望确保下一个调用具有所需的数据。有关详细信息,请参阅此链接:
TempData is really RedirectData
请注意,链接表明您可能需要同时检查ViewData和TempData以获取密钥。
您可以考虑使用Session
来存储整个用户会话的数据,或者考虑将您的信息存储在查询字符串或隐藏的表单字段中,而不是这两个工具。
答案 1 :(得分:0)
Session["referrer"] = referrer;