在MVC3中添加图像的问题

时间:2011-04-01 09:59:00

标签: asp.net-mvc-3

我在mVC2中使用此代码,它对我来说很好用。但是,当我将其转换为mvc3时,此代码会给我错误。请告诉我如何将其转换为mvC3。代码是

<% Html.Grid(Model.MemberPagedList).Columns(column => {
 column.For(x => x.Id).Named("Id");
       column.For(x => x.message).Named("Message").Action(p =>
       { %>
       <td> some image tag here
       </td>
                     <td style="display: none; "  id =<%= p.Id%>>
                     <%= p.LogMessage  %>
                 </td>

                <% });
        }).RowStart((p,row)  => {     
             if (row.IsAlternate) { %>
                   <tr >
             <%  }  else  { %>
                 <tr>
             <% }
    }).Sort(Model.GridSortOptions).Attributes(@class => "table-list").Render(); %>

我正在用<% %>替换@但是它无效。我无法理解我是如何编写Html代码的,即<td>.....</td>

<td style="display: none;" id=<%= p.Id%>>
    <%= p.LogMessage  %>
</td> 

在mvc3中

1 个答案:

答案 0 :(得分:1)

您可以使用自定义列将图像添加到MVCContrib网格:

@(Html
    .Grid<MyViewModel>(Model.MemberPagedList)
    .Columns(column =>
    {
        column.For(x => x.Id);

        column.For(x => x.LogMessage);

        column
            .Custom(
                @<text>
                     <span>@item.LogMessage</span>
                     <img src="@Url.Action("image", new { id = item.Id })" alt="" />
                 </text>
            )
            .Named("Message");
    })
    .Sort(Model.GridSortOptions)
    .Attributes(new Hash(@class => "table-list"))
)