У меня есть форма в моем представлении asp.net mvc следующим образом:
<%using (Html.BeginForm("SearchBorrowed", "Admin", FormMethod.Get))
{ %>
<%: Html.TextBox("searchTerm", Request.QueryString["searchterm"])%>
<input type="submit" value="Search" />
<br />
Is Returned :
<%:Html.CheckBox("IsReturned")%>
<%} %>
и вот действие SearchBorrowed:
public ActionResult SearchBorrowed(bool IsReturned=false, string searchTerm = null)
{
IEnumerable<BorrwoinfInfo> bs;
//...Get from repository
return View(bs.ToList());
}
и, наконец, настройки маршрутизации:
routes.MapRoute(
"SearchBorrowed", // Route name
"{controller}/{action}/{*searchTerm}", // URL with parameters
new
{
controller = "Admin",
action = "SearchBorrowed",
searchTerm = UrlParameter.Optional
} // Parameter defaults
когда я отправляю форму без галочки 'IsReturned',
он возвращает результат, и URL получает следующее:
... / SearchBorrowed? SEARCHTERM = & IsReturned = ложь
Но когда я проверяю флажок IsReturned ', URL-адреса выглядят так:
... / SearchBorrowed? SEARCHTERM = s & IsReturned = истина & IsReturned = ложь
Почему в приведенном выше URL есть два IsReturned?!
Как я могу это исправить?