2012-10-22 40 views
1

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

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

下面将工作,但没有条件,没有构建的路径!

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>) : "")) 

感谢您的帮助

回答

0

至少在webMatrix 1.0中(我还没有2.0),你必须明确指出你想发出HTML格式参数。这里有一个例子从我的生产代码:

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

或者,如果您的变量可能是空,然后使用您的变量:

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

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

+0

你把什么放在我有@ item.Dealer?你应该可以把@ item.AgendaPath。即使item.AgendaPath为空,我相信什么都不会发射,但它不会崩溃。 – Knox

+0

我修改了测试的答案,为空 – Knox

+0

正确,不好意思。认为“项目”是一个动态SQL查询和“经销商”变量“meetingsData.AgendaPath”在我的情况。构造的路径现在可以工作,但我仍然需要条件语句来避免指向文件夹的“DOC”链接(href =“@ [email protected] [CondoName] @ item.AgendaPath”> DOC – user1455103