将对象数组作为TempData []传递给视图

3 c# asp.net asp.net-mvc tempdata razor

我想将一个post动作中的两个值返回到a中的视图RedirectToAction.TempData[]似乎是理想的选择,因为数据仅用于在用户保存后显示成功消息.

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

目前我正在传递所有数据 new MvcHtmlString

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

我想把它作为一个发送 object[]

TempData["SaveMsg"] = new object[]{model.ImageUrl , model.Name}
Run Code Online (Sandbox Code Playgroud)

然后我就可以将对象传递给一个HtmlHelper并编写消息显示的条件.

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

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

这甚至可能吗?

hut*_*oid 7

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

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

@objectArray[0]
@objectArray[1]
Run Code Online (Sandbox Code Playgroud)

.Net小提琴