我想实现stackoverflow对url的作用。
domain.com/questions/1234/ properTitle < - 很好!
domain.com/questions/1234/ wrongTitle < - 重定向到domain.com/questions/1234/ properTitle
但我不想两次联系数据库。
例如,在问题控制器操作中,我已经根据1234问题ID查询了所有信息。我不想重定向并丢失所有这些信息,然后再次查询。我应该把它放在TempData或其他东西?有效的方法来处理这个问题?
答案 0 :(得分:1)
我认为在应用程序中手动缓存和检索数据会更复杂(甚至可能效率更低)。您的数据库服务器可能无论如何都会缓存结果,第二个查询也不会花很长时间。
更新:您可以将模型重定向到重载操作作为参数。这可能看起来像这样:
return RedirectToAction("Action",
new {
id = 1234,
title = "properTitle",
model = myAlreadyRetrievedModel
});