像url重定向的stackoverflow

时间:2012-02-14 09:48:04

标签: asp.net-mvc asp.net-mvc-3

我想实现stackoverflow对url的作用。

domain.com/questions/1234/ properTitle < - 很好!

domain.com/questions/1234/ wrongTitle < - 重定向到domain.com/questions/1234/ properTitle

但我不想两次联系数据库。

例如,在问题控制器操作中,我已经根据1234问题ID查询了所有信息。我不想重定向并丢失所有这些信息,然后再次查询。我应该把它放在TempData或其他东西?有效的方法来处理这个问题?

1 个答案:

答案 0 :(得分:1)

我认为在应用程序中手动缓存和检索数据会更复杂(甚至可能效率更低)。您的数据库服务器可能无论如何都会缓存结果,第二个查询也不会花很长时间。

更新:您可以将模型重定向到重载操作作为参数。这可能看起来像这样:

return RedirectToAction("Action", 
                         new { 
                               id = 1234, 
                               title = "properTitle", 
                               model = myAlreadyRetrievedModel 
                         });