У меня есть указатель, который является первой страницей моего сайта. У меня есть 3 каскадных выпадающих листа на странице, выпадающие списки заполняются на основе предыдущего раскрывающегося списка. Я использовал jquery
и json
, чтобы решить, что он работает нормально, весь код находится на Index.cshtml
.Отдельный код в представлениях mvc
Теперь мне нужно показать эти выпадающие списки почти на всех страницах веб-сайта. Я создал частичный вид, где я скопировал выпадающие, как вы можете увидеть здесь:
<div class="col-sm-4">
<div style="padding-top:15px;">
<form class="form-control-static">
<div class="form-group">
<div class="row">
<div class="col-sm-10">
@if (ViewData.ContainsKey("makes"))
{
@Html.DropDownList("makes", ViewData["makes"] as List<SelectListItem>, "--Select car--", new { @class = "dropdown-toggle form-control" })
}
</div>
</div>
<div class="row">
<div class="col-sm-10">
<p></p>
@Html.DropDownList("models", new SelectList(string.Empty, "Value", "Text"), "--Select model--", new { @class = "dropdown-toggle form-control" })
</div>
</div>
<div class="row">
<p></p>
<div class="col-sm-10">
@Html.DropDownList("engines", new SelectList(string.Empty, "Value", "Text"), "--Select engine--", new { @class = "dropdown-toggle form-control" })
</div>
</div>
</div>
</form>
</div>
</div>
<div class="col-sm-4" style="height: 10em;display: flex;align-items: center ; padding-top:25px;">
<input type="submit" id="btnSearch" class="btn btn-default active" value="Search" disabled="disabled" style="width:150px;" />
</div>
но логика для заполнения выпадающих еще в Index.cshtml
. Хотя я попытался скопировать код javascript во вновь созданное частичное представление, выпадающие списки не заполняются данными должным образом. Он отлично работает, только когда я на первой странице. Не могли бы вы дать мне несколько подсказок, что было бы лучшим способом решить что-то подобное. Спасибо!
ли другие страницы в том же контроллере? – jao
У меня тоже есть в других контроллерах – Orsi
Возможно, вы можете использовать ChildAction: http://stackoverflow.com/questions/12530016/what-is-an-mvc-child-action и https://blog.falafel.com/child -действия-Asp-сетчатая MVC /. Просто переместите свою логику ViewData в дочернее действие и вызовите дочернее действие в вашем основном представлении. – jao