У меня есть выпадающий список, который автоматически отправляет форму и выполняет поиск, который я использую по всему проекту через частичное представление, но он работает только при первом использовании, если я не обновляю страницу. Это MVC 4 с проектом jQuery Mobile.
Вот код, который я имею в своем частичном представлении,
<script type="text/javascript">
$(function () {
$("#CoastLineID").change(function () {
var actionUrl = $('#TheForm').attr('action') + '/' + $('#CoastLineID').val();
$('#TheForm').attr('action', actionUrl);
$('#TheForm').submit();
});
});
</script>
<p>
@using (Html.BeginForm("SearchCoast", "Home", FormMethod.Post, new { id = "TheForm" }))
{
@Html.DropDownList("CoastLineID", (SelectList)ViewBag.ArticleId, "Select a Coastline")
}
</p>
Я думаю, мне нужно иметь возможность обновлять страницу или список каждый раз, когда страница / представление, которое использует частичное представление, каким-либо образом загружается. Это проблема jQuery ???
Есть идеи, могу ли я разместить URL для сайта, если мне позволено?
Обновление / Edit
Спасибо, ребята,
Я столкнулся с несколькими проблемами, связанными с jQuery Mobile и MVC, и в основном из-за того, что они оба по-разному обрабатывают строки URL, и все это произошло за 15 лет веб-разработки. Все документы jQuery Mobile имеют дело с классическими строками URL-адресов, например, about / us.html, что не соответствует MVC!
Это мой код контроллера для заполнения выпадающего списка,
var coastlines = db.CoastLines.Select(c => new { c.CoastLineID, c.CoastLineName });
ViewBag.CoastLineId = new SelectList(coastlines.AsEnumerable(), "CoastLineID", "CoastLineName", 0);
А это веб-сайт,
http://www.peninsulaguide.com.au/
Нажмите «Поиск по пляжу», а затем «Выбрать береговую линию» или «Выбрать город» будет работать, но после обновления ничего не произойдет.
Есть два раскрывающихся списка, но это не имеет значения, если я уберу один.
Приветствия
Mike