0

MVCContrib グリッドビューの列に画像 (物理的にはサーバーの Image フォルダーにあり、そのパスは db に格納されています) を表示したいと考えています。次のコードを使用していますが、画像パスのみを返しますが、グリッド列に画像を表示したいと考えています。

コード

     <%=Html.Grid(Model.ImageGridView).Columns(columns=>{
     columns.For(x=>x.ImageID);
     columns.For(x=>x.ImageTitle);
     columns.For(x=>x.ImagePath);

 })%>
4

1 に答える 1

0

_Image.ascx文字列に強く型付けされ、画像を含む部分 ( ) を定義できます。

<%@ Control 
    Language="C#" 
    Inherits="System.Web.Mvc.ViewUserControl<string>" 
%>
<img src="<%= Model %>" alt="" />

その後:

<%= Html
    .Grid(Model.ImageGridView)
    .Columns(columns => {
        columns.For(x => x.ImageID);
        columns.For(x => x.ImageTitle);
        columns.For(x => Html.Partial("_Image", x.ImagePath));
    }
) %>

明らかに、ImagePathプロパティがサーバー上の画像の物理的な場所を指している場合、それを<img>タグに直接渡すことはできません。相対 URL に変換する必要があります。理想的には、これはモデルをビューに渡す前にサーバーで実行する必要があります。

于 2013-01-26T18:42:46.720 に答える