传递一个 object 数组作为 TempData[] 来查看

Passing an object array as TempData[] to view

我想 return 从 post 操作到 RedirectToAction 中的视图的两个值。 TempData[] 似乎是理想的选择,因为数据仅用于在用户保存后显示成功消息。

我想在成功消息中显示用户刚刚保存的图像的小缩略图和保存的项目的标题。

目前我将所有数据作为 new MvcHtmlString

TempData["SaveMsg"] = new MvcHtmlString("<img src=" + model.ImageUrl + " //> <h3//>" + model.Name + " has been saved.<//h3//> " ) ;

我想将其作为 object[]

发送
TempData["SaveMsg"] = new object[]{model.ImageUrl , model.Name}

然后我就可以将 object 传递给 HtmlHelper 并编写消息显示的条件。

我只是不知道如何访问视图中的 object

@TempData["SaveMsg"][0] // (O.o) // Error Cannot apply indexing with 
                                 //  [] to an expression of type 'object'

这可能吗?

您可以通过先将它们转换为对象数组然后索引它们来在视图中访问它们,即

@{
  var objectArray = (object[]) TempData["SaveMsg"];
}

@objectArray[0]
@objectArray[1]

.Net fiddle

@TempData["SaveMsg"][0] will not work.

尝试这样的事情

obj[] saveMsgs = (obj[])TempData["SaveMsg"];