在WebMatrix Webgrid中显示文档链接(href)的条件

时间:2012-10-22 23:35:07

标签: razor conditional-statements webmatrix webgrid

当文档(路径)存在时,我想在Webgrid中显示“DOC”链接。

文档完整路径由通用路径(存储在设置表中的路径数据)和文档特定路径(存储在另一个表中的路径数据)构成。

以下方法可行,但没有条件也没有构建路径!

meetingsGrid.Column("Agenda", format: @<a href="document full path">DOC</a>)

这不起作用:

meetingsGrid.Column("Agenda", format: @<a href="generic path" + "document specific path">DOC</a>)

试过这个:

meetingsGrid.Column("Agenda", format: @<a href="@Url.Action(Path.Combine(@genericpath,specificpath))">DOC</a>)

我试图添加一些条件,但即使有完整的路径,我也无法使它工作: - (

meetingsGrid.Column("Agenda", format: @if(meetingsData.AgendaPath!=null){@<a href="fullpath">DOC</a>)}else{@Html.Raw("")}

meetingsGrid.Column("Agenda", format: (item) => @Html.Raw((item.AgendaPath!=null) ? (@<a href="fullpath">DOC</a>) : ""))

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

至少在webMatrix 1.0中(我还没有在2.0上),你必须在format参数中明确指出你要发出html。以下是我的生产代码中的一个示例:

format: @<text><a href="/Dashboard/DealerInfo/@item.Dealer">@item.Dealer</a> </text>

或者,如果您的变量可以为null,则使用您的变量:

format:  ( meetingsData.AgendaPath.AgendaPath == null ) ? @<text>""</text> : @<text><a href="/Dashboard/DealerInfo/@item.Dealer">@item.Dealer)</a> </text>

哪个?运营商说如果之前的声明?是的,返回一个空字符串,否则返回你想要的href。