Я пытаюсь реализовать кнопку на клиентской стороне страницы html, которая позволяла бы пользователю переключаться между двумя разными макетами, вызываемыми через соответствующие компоненты представления. Вот что я начал:
Код: Выделить всё
@{
bool display = Request.Form["display"] == "true";
}
Display:
@(display ? "Layout 2" : "Layout 1")
@if (display)
{
Layout 1
}
else
{
Layout 2
}
При загрузке страницы появляется сообщение об ошибке: «Этот запрос не имеет заголовка типа контента. Формы доступны из запросов с такими телами, как POST, и типом контента формы либо application/x-www-form-urlencoded или multi-part/form-data".
Я попытался изменить с помощью атрибута enctype="application /x-www-form-urlencoded" или enctype="multi-part/form-data" безуспешно. Я также пытался объявить логическую переменную "display" как
Код: Выделить всё
@{
bool display = false;
if (Request.Method == "POST")
{
display = Request.Form["display"] == "true";
}
}
но тогда переменная никогда не изменяется при нажатии на кнопку, тем самым показывая, что оператор Request.Method == "POST" в целом является ложным, поскольку он поворачивается на самом деле это Request.Method == "GET", несмотря на атрибут Method="post".
Подробнее здесь:
https://stackoverflow.com/questions/784 ... rent-views