嗨我正在使用nvarchar并尝试过ref,直到地图也显示图像〜/ image / pics.jpg。在我的表格中我有3列id,图像和文字。 id = int,image = nvarchar(max)text = nvarchar(50)。
我该如何显示它们?有谁知道我可以遵循的指南或教程?
我搜索每个地方,但他们使用二进制和图像典型。如果我想要的话,我只能显示文字和ID,但是在图像上它显示的图标应该是图像但是没有显示?
控制器
public ActionResult Index()
{
var pics = db.image.ToList();
return View(pics);
}
视图
@foreach (var item in Model)
<tr>
<img src='@item.image' />
<tr/>
<tr>
@item.text
<tr/>
答案 0 :(得分:0)
我创建了一个我在视图中使用的辅助方法:
public static IHtmlString Image(this HtmlHelper htmlHelper, string url)
{
return Image(htmlHelper, url, null);
}
public static IHtmlString Image(this HtmlHelper htmlHelper, string url, object htmlAttributes)
{
TagBuilder imgTag = new TagBuilder("img");
UrlHelper urlHelper = new UrlHelper(htmlHelper.ViewContext.RequestContext);
imgTag.MergeAttribute("src", urlHelper.Content(url));
imgTag.MergeAttributes(new RouteValueDictionary(htmlAttributes));
return new HtmlString(imgTag.ToString(TagRenderMode.SelfClosing));
}
在我看来,我有以下内容:
@model MyProject.ViewModels.MyViewModel
@foreach (var file in Model.UploadedFiles)
{
@Html.Image(file.Path)<br />
}
我的观点模型:
public class MyViewModel
{
public IList<UploadedFile> UploadedFiles { get; set; }
}
UploadedFile类:
public class UploadedFile
{
public string Path { get; set; }
}
现在,如何填充UploadedFiles属性取决于您。我会用数据库调用完成这样的事情:
public ActionResult MyActionMethod()
{
MyViewModel viewModel = new MyViewModel
{
// Database call to return paths
UploadedFiles = fileService.GetFiles()
};
return View(viewModel);
}
可能有更好的方法可以做到这一点,但这会帮助你朝着一个方向前进。希望这会有所帮助。