2012-10-22 41 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