Первоначально вы были на правильном пути, используя justify-content: flex-start
. Это был justify-content: space-between
, который давал вам пробел во втором ряду, поэтому я убрал это, и все выстроилось в линию. Я также изменил поля и отступы, чтобы соответствовать интервалу.
.block {
border: 1px solid lightgrey;
display: flex;
flex-wrap: wrap;
padding: 5px 3px 5px 5px;
max-width: 900px;
justify-content: flex-start;
}
.block__item {
background: grey;
height: 20px;
margin-bottom: 2px;
width: calc(33.3% - 2px);
margin-right:2px;
}
<div class="block">
<div class="block__item"></div>
<div class="block__item"></div>
<div class="block__item"></div>
<div class="block__item"></div>
<div class="block__item"></div>
</div>
У меня были некоторые проблемы при возврате json от сервисов, и я не возвращал вызовов. оказалось, что json был уродлив, и я смог протестировать это и получить те ошибки путем обработки ошибочной опции плоскости ajax вызов.
$.ajax({
type: "GET",
url: "Home/Results/",
data: { search: searchText },
dataType: "json",
error: function(xhr, status, error) {
// you may need to handle me if the json is invalid
// this is the ajax object
},
success: function(json){
alert( "Data Returned: " + json);
}
});
Необходимо будет зафиксировать маршрут и замену {идентификатор} с {поиском} для получения, это для привязки с корректным параметром - пробует что-то вроде этого:
routes.MapRoute("search", "Home/Results/{search}",
new { controller = "Home", action = "Results" });
Если Вы не хотите делать это, можно сделать это как это путем определения parametername как стандарта querystring параметр
$.getJSON("/Home/Results?search=" + searchText,bindresults);
это зафиксирует привязку.