Я строю сетку из модели представления с одним столбцом, заполненным ссылками действий. Я передаю аргументы в ссылку действия от объекта, который вложен в модель представления, потому что не все ссылки действия будут одинаковыми. Однако, когда я иду сортировать столбец, состоящий из ссылок действий, я получаю ошибку «По крайней мере, один объект должен реализовывать IComparable». Я попытался реализовать интерфейс IComparable в viewmodel, но я все еще получаю ту же ошибку. Чего мне не хватает?
Вот вид модели
namespace ViewModels.AlertedUser
{
public class UserSubmission : IComparable
{
public Submission Submission{ get; set; }
public Link Link{ get; set; }
public int CompareTo(object obj)
{
throw new NotImplementedException();
}
}
}
Вот класс ссылки
namespace ViewModels.AlertedUser
{
public class Link
{
public string LinkText { get; set; }
public string ActionName { get; set; }
public long Id { get; set; }
}
}
Вот конкретный столбец сетки
<div class="panel-group">
<div class="panel panel-default">
<div class="panel-body">
@(Html
.Grid(Model.UserSubmission)
.Build(columns =>
{
columns.Add(model => Html.ActionLink(model.Submission.Practice.ID, "Details", "Id", new { model.Submission.Practice.ID }, new { @title = "View ID" })).Titled("ID");
columns.Add(model => model.Submission.Terminal).Titled("Terminal");
columns.Add(model => model.Submission.Location).Titled("Location");
columns.Add(model => Html.ActionLink(model.Link.LinkText, model.Link.ActionName, new { id = model.Link.Id})).Titled("Action").Sortable(true);
})
.Css("table table-striped table-hover")
.Empty("No Alerted")
.Pageable())
</div>
</div>
</div>