Я использую NonFactors Grid.Mvc (http://mvc -grid.azurewebsites.net / ) и обнаружил ограничение в этой сетке, если вы видите пример для http://mvc -grid .azurewebsites.net / Сетка / SourceUrl
Код в приведенном выше примере: (жирная строка содержит ограничение, которое не может передать лямбда-выражение):
@model IEnumerable<Person>
@(Html
.Grid(Model)
.Build(columns =>
{
columns.Add(model => model.Name).Titled("Name");
columns.Add(model => model.Surname).Titled("Surname");
columns.Add(model => model.MaritalStatus).Titled("Marital status");
columns.Add(model => model.Age).Titled("Age");
columns.Add(model => model.Birthday).Titled("Birth date").Formatted("{0:d}");
columns.Add(model => model.IsWorking).Titled("Employed");
})
.WithSourceUrl(Url.Action("SourceUrl", "Grid"))
.Empty("No data found")
.Pageable(pager =>
{
pager.PagesToDisplay = 3;
pager.RowsPerPage = 2;
})
.Filterable()
.Sortable()
)
Я хочу заменить .WithSourceUrl(Url.Action("SourceUrl", "Grid"))
на .WithSourceUrl(Url.Action("SourceUrl", "Grid", new {m => m.personId}))
и я провел исследование, чтобы создать такой метод
public MvcHtmlString WithSourceUrlFor<TValue>(Expression<Func<T, TValue>> expression)
{
var MvcHtmlString = ExpressionHelper.GetExpressionText(expression);
return MvcHtmlString;
}
но мне не удалось преобразовать лямда-выражение в MvcHtmlString, и я застрял.
Пожалуйста, помогите мне.
Спасибо