0

我有以下情况:

@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;

您需要的任何细节都可以询问。

4

2 回答 2

2

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

于 2012-07-20T08:36:18.627 回答
1

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

所以答案是否定的,你在视图中所做的,不能延续到动作/控制器。

于 2012-07-20T08:40:28.527 回答