参数 'inArray' 变为空。为什么?
The parameter 'inArray' is coming null. Why?
我正在尝试从数据库加载图像。
我在我看来使用了这段代码:
@foreach (var item in ViewBag.Base64String)
{
var base64 = Convert.ToBase64String(item.ImageData);
var imgSrc = String.Format("data:image/jpg;base64,{0}", base64);
<p>id:@item.NewsId</p>
<img alt="" src="@imgSrc" style="height:100px;width:100px;" />
}
但我在浏览器中收到此错误:
Value cannot be null.Parameter name: inArray
我的模型class:
public class News
{
[Key]
public int NewsId { get; set; }
public string Title { get; set; }
public string Category { get; set; }
public byte[] ImageData { get; set; }
public string MainComment { get; set; }
}
我的控制器:
WebContext db = new WebContext();
public ActionResult News()
{
ViewBag.Base64String = db.AllNews.ToList();
return View();
}
有什么问题吗?
根据docs,inArray is null
指的是ArgumentNullException
.
这意味着,在您的某些记录中,字段 ImageData
为空或为空,这会通过 ToBase64String 引发异常。
您可以使用 if-clause
并设置默认图像,以防记录没有 ImageData;例如:
@if(item.ImageData != null) {
var base64 = Convert.ToBase64String(item.ImageData);
var imgsrc = string.Format("data:image/jpg;base64,{0}", base64);
<img src = '@imgsrc'
style = "max-width:100px;max-height:100px" / >
}
else {
<img src = "~/img/avatar-default.jpg"
style = "max-width:100px;max-height:100px" / >
}
我正在尝试从数据库加载图像。
我在我看来使用了这段代码:
@foreach (var item in ViewBag.Base64String)
{
var base64 = Convert.ToBase64String(item.ImageData);
var imgSrc = String.Format("data:image/jpg;base64,{0}", base64);
<p>id:@item.NewsId</p>
<img alt="" src="@imgSrc" style="height:100px;width:100px;" />
}
但我在浏览器中收到此错误:
Value cannot be null.Parameter name: inArray
我的模型class:
public class News
{
[Key]
public int NewsId { get; set; }
public string Title { get; set; }
public string Category { get; set; }
public byte[] ImageData { get; set; }
public string MainComment { get; set; }
}
我的控制器:
WebContext db = new WebContext();
public ActionResult News()
{
ViewBag.Base64String = db.AllNews.ToList();
return View();
}
有什么问题吗?
根据docs,inArray is null
指的是ArgumentNullException
.
这意味着,在您的某些记录中,字段 ImageData
为空或为空,这会通过 ToBase64String 引发异常。
您可以使用 if-clause
并设置默认图像,以防记录没有 ImageData;例如:
@if(item.ImageData != null) {
var base64 = Convert.ToBase64String(item.ImageData);
var imgsrc = string.Format("data:image/jpg;base64,{0}", base64);
<img src = '@imgsrc'
style = "max-width:100px;max-height:100px" / >
}
else {
<img src = "~/img/avatar-default.jpg"
style = "max-width:100px;max-height:100px" / >
}