2013-03-20 53 views
0

我试图连接WebGrid中的条件列中的2 Html.ActionLink。 出头的那样:MVC WebGrid条件连接Htlm.ActionLink

@grid.GetHtml(columns:grid.Columns(
    grid.Column("AccountNumber"), 
    grid.Column("ContractNumber"), 
    grid.Column("DisplayName"), 
    grid.Column("IsFinalized"," ",format:(item) => (item.IsFinalized == true) 
    [email protected]<text> @Html.ActionLink("Edit", "Edit", new { accountId = item.AccountNumber}) | @Html.ActionLink("Details", "Details", new { accountId = item.AccountNumber }) </text> 
    :@<text> @Html.ActionLink("Validate", "Validate", new { accountId = item.AccountNumber} | @Html.ActionLink("Details", "Details", new { accountId = item.AccountNumber }))</text>) 
)) 

回答

2

如果发现使用该解决方案:

new HtmlString() 

所以这个:

grid.Column("IsFinalized"," ",format:(item) => (item.IsFinalized == true) 
    [email protected]<text> @Html.ActionLink("Edit", "Edit", new { accountId = item.AccountNumber}) | @Html.ActionLink("Details", "Details", new { accountId = item.AccountNumber }) </text> 
    :@<text> @Html.ActionLink("Validate", "Validate", new { accountId = item.AccountNumber} | @Html.ActionLink("Details", "Details", new { accountId = item.AccountNumber }))</text>) 

给出:

grid.Column("IsFinalized", " ", format: item => (item.IsFinalized == true) 
    ? new HtmlString(Html.ActionLink("Edit", "Edit", new { accountId = item.AccountNumber }).ToString() + "|" + Html.ActionLink("Details", "Details", new { accountId = item.AccountNumber }).ToString()) 
    : new HtmlString(Html.ActionLink("Validate", "Validate", new { accountId = item.AccountNumber }).ToString() + "|" + Html.ActionLink("Details", "Details", new { accountId = item.AccountNumber }).ToString())