Я пытаюсь создать расширение HTML, которое объединяет три помощника HiddenFor. мне удалось получить, насколько ниже, что делает, по крайней мере компиляции:Использование htmlextensions (html.HiddenFor) в собственном расширении
public static class BatchHelper {
public static MvcHtmlString DisplayHiddenSummary<TModel, TValue>(this HtmlHelper<TModel> helper, BatchSummary batchSummary) where TModel : BatchSummary{
var batchId = helper.HiddenFor(model => model.BatchId);
var batchTotal = helper.HiddenFor(model => model.BatchTotal);
var totalExpected = helper.HiddenFor(model => model.TotalExpected);
var result = MvcHtmlString.Create(batchId.ToString() + batchTotal.ToString() + totalExpected.ToString());
return result;
}
}
У меня возникают проблемы, используя это, хотя, я получаю предупреждения о том, чтобы параметры необходимы, что имеет смысл, хотя все примеры, на которые я смотрел, похоже, распознают его как метод расширения и не требуют параметра HtmlHelper.
Спасибо!
EDIT Код вид выглядит следующим образом:
@using GridMvc.Html
@using GridMvc.Sorting
@using MyProj.Web.ViewModels.Receipt
@model MyProj.Web.ViewModels.Grids.DonorSummaryGrid
@Html.AntiForgeryToken()
@if (Model.BatchSummary != null) {
// These Work fine, and are what I'm trying to put in the extension.
@Html.HiddenFor(model => model.BatchSummary.BatchId)
@Html.HiddenFor(model => model.BatchSummary.BatchTotal)
@Html.HiddenFor(model => model.BatchSummary.TotalExpected)
// this is where I want to use the extension
@(Html.DisplayHiddenSummary(Model.BatchSummary))
}
Спасибо, но я все еще получаю ошибку «Неверное число параметров типа для метода ...». –
Это интересно, поскольку я опубликовал это на основе чистой реализации против ViewModel, который у меня есть в текущем запущенном проекте, который компилируется и запускается без проблем. Было бы интересно увидеть мнение, из которого оно вызвано. - EDIT: Какую версию ASP.Net MVC имеет в виду? –
Я только что добавил код просмотра и понял, что я вошел в систему под другим именем пользователя, ожидая экспертного обзора или чего-то еще. Во всяком случае, версия MVC - 5.2.3.0. –