2012-04-08 74 views
0

嗨,我使用nvarchar和tryied太参考,直到地图也显示像〜/ image/pics.jpg图像。在我的tabel我有3列ID,图像和文字。 id = int,image = nvarchar(max)text = nvarchar(50)。从数据库显示图像Nvarchar类型

如何显示它们?有谁知道我可以遵循的指导或教程?

我有搜索每一个地方,但他们使用二进制和图像的典型。我只能显示文本和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

**为什么**是以NVARCHAR(MAX)存储的图像?这根本没有意义!这是一个**文本**栏 - 它绝对是**不适用于像图像一样的二进制**的东西!你需要使用'VARBINARY(MAX)'而不是...... – 2012-04-08 19:07:10

+0

好吧我不知道如何使用varbinary我不知道如何链接它在数据库中。我的意思是图像所在的网址。你有任何指导? – newb 2012-04-09 08:53:34

+0

你在问题中提供了太少的细节。我们需要看到输入和输出。您提供的细节越多,我们可以帮助您。你能通过你提供的详细数量来回答这个问题吗? – 2012-04-09 13:05:08

回答

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); 
} 

有可能是一个更好的方式来做到这一点,但是这将帮助你的方向。希望这可以帮助。

+0

对不起,我无法显示图像。我只想要2显示图像。我知道我真的很讨厌,但我是新来的。 :(你知道是否有任何giude或torturial 4这个? – newb 2012-04-09 09:45:02

+0

看到我对你的问题的评论.. – 2012-04-09 19:08:57