У меня есть Строго типизированный пользовательский элемент управления , который я использую для поиска определенного списка объектов.следующий код показывает пользовательский элемент управления,
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<PeercoreCRM.ViewModels.CustomerFilterViewModel>" %>
<div style="width: 100%;vertical-align:top;background-color:White">
<fieldset>
<legend>Criteria</legend>
<table cellspacing="0">
<tr>
<td style="width: 100px">
<div class="editor-label">
<%: Html.LabelFor(m => m.LeadName) %>
</div>
</td>
<td>
<div class="editor-field">
<%: Html.TextBoxFor(m => m.LeadName) %>
</div>
</td>
</tr>
<tr>
<td style="width: 60px">
<div class="editor-label">
<%: Html.LabelFor(m => m.CustomerCode) %>
</div>
</td>
<td>
<div class="editor-field">
<%: Html.TextBoxFor(m => m.CustomerCode)%>
</div>
</td>
</tr>
<tr>
<td>
<input type="submit" name="btnSearch" value="Search" />
<input type="submit" name="btnCancel" value="Cancel" />
</td>
<td>
</td>
</tr>
</table>
</fieldset>
</div>
В представлении я показываю этот пользовательский элемент управления условно, используя следующий фрагмент кода:
<% using (Html.BeginForm("CustomerList", "Customer", new { isFiltered = Model.FilterViewModel.IsFiltered }, FormMethod.Post))
{
%>
<% if (Model.FilterViewModel.IsVisible) Html.RenderPartial("ListFilterUserControl", Model.FilterViewModel); %>
<% } %>
Я поместил форму на странице рендеринга , так как этот элемент управления используется в других представлениях и, таким образом, вызывает другие методы действия в других контроллерах.
У меня есть следующая сигнатура метода в моем методе действия контроллера,
[HttpPost]
public ActionResult CustomerList(CustomerFilterViewModel filterModel)
{
bool filtered = filterModel.IsDirty? FilterCustomers(filterModel):false;
Session["CurrentPageNumber"] = null;
return RedirectToAction("CustomerList", new { isFiltered = filtered || filterModel.IsFiltered });
}
Моя проблема, с этой реализацией , как я могу отдельно определить, какая кнопка нажата («Поиск» или «Отмена»), и написать код в зависимости от этого.