В моем представлении есть раскрывающийся список, который в зависимости от выбранной опции перенаправляет вас на другую страницу/контроллер. Я использую javaScript для получения выбранного значения моего раскрывающегося списка, но у меня проблемы с попыткой манипулировать Html.BeginForm. Вот часть моего зренияasp.net Razor FormExtensions.BeginForm Переменная метода
@{ var newView=0;
var page = "";
var cont = "";
}
<script type="text/javascript" language="javascript">
function run() {
newView = document.getElementById('views').value;
}
function ButtonClicked() {
alert("View selected: " + newView);
// update variables page and cont here?
}
</script>
<select name="views" id="views" onchange="run()">
<option value="0"> </option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
@using (Html.BeginForm(page, cont, FormMethod.Post))
{
<button onclick="javascript:ButtonClicked()" type="submit" class="btn"> Go </button>
}
Как я могу обновить действие кнопки отправки в виде Razor?
Я попытался заменить «Index» и «Home» на переменные и обновить их в своих функциях, но не работает ... какие-либо идеи?
----- Примечание: Я обновил свой вопрос более конкретно с моей проблемой
Что такое "не работает"? Что происходит и каким образом ваш код терпит неудачу? Также обратите внимание, что если вы пишете JavaScript, вам нужно будет изучить фактический отображаемый HTML. Этот серверный код ничего не значит для JavaScript. – David
Извините, я не был достаточно конкретным, чтобы объяснить, чего я хочу достичь. Я планировал обновлять переменные в какой-то функции и базе, используя @using (Html.BeginForm, но, очевидно, он принимает значение этих переменных при рендеринге страницы вначале, что до «обновления». Все еще застряло –
Это все еще неясно, что вы подразумеваете под «манипулированием Html.BeginForm» и т. д. Похоже, вы можете не понимать разницу между кодом на стороне сервера и кодом на стороне клиента. – David