Unë kam një formë e cila në dorëzim kalon të gjitha vlerat e fushës së hyrjes si një varg pyetjesh.
Adresa që marr pas dorëzimit është:
http://localhost:51246/Markets?Keyword=keywordhere
Formati i preferuar i adresës është:
http://localhost:51246/Markets/keywordhere
Kodi për formularin:
@using (Html.BeginForm("Index", "Markets", FormMethod.Get, new { id = "login", role = "form", @dataToggle = "validator", @class = "form-horizontal" }))
{
<div class="form-group">
@Html.LabelFor(x => x.Keyword, new { @class = "col-sm-2 control-label" })
<div class="col-sm-10">
@Html.TextBoxFor(x => x.Keyword, new { @class = "form-control", @placeholder = "Enter market or country name..." })
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary">Filter</button>
<a href="@Url.Action("Index")" class="btn btn-default">Reset</a>
</div>
</div>
}
Konfigurimi im i rrugës është:
routes.MapRoute(
"Markets",
"{controller}/{keyword}/{page}",
new
{
controller = "Markets",
action = "Index",
keyword = UrlParameter.Optional,
page = UrlParameter.Optional
}
);
routes.MapRoute(
"Markets main",
"{controller}/{action}/{id}",
new
{
controller = "Markets",
action = "Index",
id = UrlParameter.Optional,
}
);
...
Dhe kontrolluesi është:
[HttpGet]
public async Task<ActionResult> Index(string keyword, int page = 1)
{
//search logic and create viewmodel
Return ActionResult(viewmodel)
}
Funksionaliteti funksionon mirë, dhe nëse shkruaj formatin e preferuar në shiritin e adresave dhe shtyp Enter, shfaqen rezultatet e pritura të kërkimit.
Si mund ta bëj që formulari të dorëzojë dhe t'i vendos vlerat në formatin e preferuar?