MVC3 WebGrid Пользовательский текст в столбце - PullRequest
8 голосов
/ 01 августа 2011

Я занимаюсь разработкой веб-приложения с использованием MVC3 в VB.NET.

У меня возникли проблемы при настройке столбца в веб-сетке со следующими ссылками на действия

Редактировать |Детали |Удалить

@*@Html.ActionLink("Edit", "Edit", New With {.id = currentItem.PrimaryKey}) |
@Html.ActionLink("Details", "Details", New With {.id = currentItem.PrimaryKey}) |
@Html.ActionLink("Delete", "Delete", New With {.id = currentItem.PrimaryKey})*@

Я пытался использовать приведенный ниже синтаксис, но получаю ошибку, когда элемент не объявлен.

grid.Column (header: = "", format: =(item) => item.GetSelectLink ("Custom Text"))

Как мне сделать ссылку на текущую строку или элемент в веб-сетке, чтобы эта работа работала?

Любая помощь очень ценится.

С уважением

Джеймс

Ответы [ 2 ]

11 голосов
/ 01 августа 2011
grid.Column(
columnName:"PrimaryKey", 
header:"Actions",      
format: (item) => 
{
   var links = Html.ActionLink("Edit", "Edit", new {id = item.PrimaryKey}) + " | " +
               Html.ActionLink("Details","Details", new { id = item.PrimaryKey}) +" | "+
               Html.ActionLink("Delete","Delete", new { id = item.PrimaryKey});

   return Html.Raw(links);

}),

отображает следующий HTML-код (отформатированный для разборчивости)

<td>
  <a href="/Home/Edit/5">Edit</a> | 
  <a href="/Home/Details/5">Details</a> | 
  <a href="/Home/Delete/5">Delete</a>
</td>
4 голосов
/ 21 февраля 2012

Можно также использовать ниже, что больше похоже на обычный способ, поэтому мне нравится больше:

grid.Column(format: @<text>
                @Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
                @Html.ActionLink("Delete", "Delete", new { id = item.Id })    
     </text>)
...