【问题标题】:Get value of an item from ViewData Asp.Net从 ViewData Asp.Net 获取项目的值
【发布时间】:2014-06-12 09:36:55
【问题描述】:

如何从视图中的 ViewData 中获取与键关联的项目?

我的意思是ViewData["key"].Item 是否可以 ?

我是这样从 Controller 中的 ActionResult 设置的

ViewData["LeftUploadedData"] = Pic1;

在我看来

var uploadedImg = ViewData["LeftUploadedData"] as Picture; 
if (uploadedImg.ByteImage != null) 
{
    <img src="data:image;base64,@Convert.ToBase64String(uploadedImg.ByteImage)" style="width: 100%; max-height: 100%" />
}

【问题讨论】:

  • 你的意思是 asp.net mvc ?

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


【解决方案1】:

此外,您可能希望在视图中指定项目类型。因此,如果您知道您期待一个 int ,您应该正确地转换它。示例:

@{    
   int listNumber = ViewData["key"] as Int32;    
}

【讨论】:

    【解决方案2】:

    以这种方式存储在您的方法中:

    ViewData["key"] = "Your Data";
    

    你可以这样获取它:

    var item = @ViewData["key"];
    

    【讨论】:

    • @Ldh、ViewData 和 TempData 是字典对象,因此您可以使用键在其中存储数据并使用与我在答案中显示的相同的键进行检索
    • @Ldh, TempDataDictionary.Peek 您无需通过一次调用将其标记为删除即可获得该值。但是您需要了解 ViewData 和 TempData 之间的区别
    • @Ldh 请编辑您的问题并在其中添加您实现的代码,使其更具可读性
    • 其实我想从视图中获取值这是我在视图中的代码{var uploadedImg = ViewData["LeftUploadedData"] as Picture; if (uploadedImg.ByteImage != null) {&lt;img src="data:image;base64,@Convert.ToBase64String(uploadedImg.ByteImage)" style="width: 100%; max-height: 100%" /&gt;}
    • @Ldh,不用担心,所以在这里您是从 ViewData 获取图像的,对吧?你在哪里设置 ViewData 中的 Image 值?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 2020-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多