Я использую mvcContrib для создания сетки, позволяющей пользователям фильтровать данные, вводя данные поиска.Есть несколько частичных представлений, которые отображаются в моем представлении индекса:
Вот частичное представление, которое обрабатывает поиск:
@model CRMNPS.Models.PagedViewModel<CRMNPS.Models.NPSProcessed>
@using (Html.BeginForm("Index", "Home", FormMethod.Get))
{
<label>
Model Number: @Html.TextBox("searchWord" )
<br /><br />From Date: @Html.EditorFor(m => m.FromDate)
</label>
<label>
<Br /><br />To Date: @Html.EditorFor(m => m.ToDate)
</label>
<label>
<br /><br /> <input class="button" value="Search" type="submit" />
<br />
</label>
}
Вот мое представление индекса:
@model PagedViewModel <CRMNPS.Models.NPSProcessed>
@{
ViewBag.Title = "CRM Processed List";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Processed List</h2>
@{Html.RenderPartial("SearchBox");}
@{Html.RenderPartial("Pager", Model.PagedList);}
@Html.Grid(Model.PagedList).AutoGenerateColumns().Columns(column =>{
column.For(x => Html.ActionQueryLink(x.ModelNumber, "Edit", new { id = x.Id
})).Named("Id").InsertAt(1);
}).Sort(Model.GridSortOptions).Attributes(@class => "grid-style")
@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { FromDate = Model.FromDate, ToDate = Model.ToDate, SearchWord = Model.SearchWord }))
{
<p>
<input class="button" value="Export to Excel" type="submit" />
</p>
}
В нижней части представления индекса у меня есть другая отправка в Html.BeginForm с Formmethod.Post.
Индекс ActionResult, который вызывает это представление, передает модель представления с критериями поиска и объектом IQueryable, который использует mvcContrib.
Когда пользователь нажимает кнопку «Экспорт в Excel», которую я хотел бы передатьвыбранные значения возвращаются в контроллер HttpPost результата действия Index.(FromDate, ToDate и SearchWord)
Значения FromDate, ToDate и SearchWord всегда возвращаются нулевыми.
Я довольно новичок в MVC, поэтому любые конструктивные комментарии приветствуются.
Спасибо
Джо