ViewBag.Something可以将数据从视图传输到控制器吗?

时间:2012-07-20 08:19:59

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

我有以下情况:

@model MvcApp.Models.MyAppModel
@{ ViewBag.ActionName = this.Context.Request.RequestContext.RouteData.Values["action"]; }

使用我检查过的调试器,我确信Viewbag.ActionName收到了它的值。 但是在控制器中,ViewBag始终为空。为什么?我只是在这些请求之间使用它(这意味着我总是尊重这个命令,从这个视图中我点击一个总是让我删除的动作链接。请赐教。干杯。

[HttpGet]
public ActionResult Delete(int id)
{
    string actionName = ViewBag.ActionName;

您需要提出的任何细节。

2 个答案:

答案 0 :(得分:2)

视图包中的数据仅在单个请求的持续时间内有效。但是你谈到了两个请求:第一个请求呈现页面,第二个请求处理删除操作。这就是为什么视图包最初在控制器中是空的。

答案 1 :(得分:1)

请求的流程是:首先是控制器,然后是视图。

所以答案是否定的,你在视图中做了什么,不能转移到动作/控制器。