如何创建自定义WebGrid列

时间:2011-08-03 10:20:20

标签: asp.net-mvc model-view-controller asp.net-mvc-3

我需要在我的WebGrid中添加一个额外的列,新的colume应该包含一个基于记录字段之一的HTML5音频。类似的东西:

    <audio controls="controls">
        <source src="@string.Format("{0}{1}", @item.SongID.ToString(), ".mp3")" type="audio/mp3"/>
        Your browser does not support the audio element.
    </audio>

webgrid支持这样的场景吗?

感谢! 奥弗

1 个答案:

答案 0 :(得分:0)

这是一种做法。在视图中创建一个帮助程序并将其用于列格式:

@helper AudioTag(dynamic item)
{
    <audio controls="controls">
        <source src="@string.Format("{0}.mp3", item.SongID)" type="audio/mp3"/>
        Your browser does not support the audio element.
    </audio>
}

<div>
    @grid.GetHtml(columns: grid.Columns(
                                grid.Column("Audio", format: a => AudioTag(a))));
</div>