我創造了我在視圖中使用一個輔助方法:
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);
}
有可能是一個更好的方式來做到這一點,但是這將幫助你的方向。希望這可以幫助。
**爲什麼**是以NVARCHAR(MAX)存儲的圖像?這根本沒有意義!這是一個**文本**欄 - 它絕對是**不適用於像圖像一樣的二進制**的東西!你需要使用'VARBINARY(MAX)'而不是...... – 2012-04-08 19:07:10
好吧我不知道如何使用varbinary我不知道如何鏈接它在數據庫中。我的意思是圖像所在的網址。你有任何指導? – newb 2012-04-09 08:53:34
你在問題中提供了太少的細節。我們需要看到輸入和輸出。您提供的細節越多,我們可以幫助您。你能通過你提供的詳細數量來回答這個問題嗎? – 2012-04-09 13:05:08