Route Value重定向到另一个MVC操作的生命周期是多少?

时间:2015-08-08 00:47:20

标签: asp.net-mvc vb.net visual-studio variables

我有一个ActionResult函数,其中有一行重定向到同一个控制器上的另一个动作:

TempData("ct") = Request.Url.Segments(1)
Return RedirectToAction("Index", New With {.ct = " "})

以下是问题/问题:我期望在 Index 操作中到达该值的生命周期一直持续到呈现页面,以及来自用户的下一个请求值将不存在。显然,我对某事错了,因为 Request(" ct")的价值在我的开发服务器上继续通过几十次点击和页面持续存在(本地主机:端口)。有些东西告诉我,我在这里感到愚蠢,但是"什么"我错过了吗?只要不在Url查询字符串中,该值就不应该在下一个请求中消失吗?另外,由于它们是只读的,我怎么能/可以改变这个值呢?

(localhost开发IIS Express上的VB.NET VS2015 MVC5)

编辑 - 解决方法(对我而言)

  1. 这里是从URL接收值并将操作重定向到"索引"的ActionResult。动作:

    Request("ct").Trim.HasValue
    
  2. 分配一个空格(因为如果你分配" null"或者"没什么"它没有改变任何东西)允许我去#34; .Trim.HasValue&# 34;并测试下一个控制器中的值(" .HasValue"是我创建的扩展,如果值为&#34,则返回布尔值;为空" [有很多其他方法可以执行此操作])。

    GL_ELEMENT_ARRAY_BUFFER

    TempData(" ct")当然会随着当前请求的结束而消亡。 (耶!)

    有点" hacky"而不是过于优雅,但功能。如果那里有一个更好,更优雅的方式,我会全力以赴。

0 个答案:

没有答案