У меня есть раскрывающиеся варианты программ2019, программы2020, и когда пользователь выбирает программы2019, он вызывает в контроллере метод действий Programs2019. Я попытался использовать jquery и передать selectedvalue в @ Url.Action () безуспешно. Я прочитал сообщение, в котором говорится: «@ Url.Action - это серверный код, который выполняется перед выполнением любого из кода JavaScript. Таким образом, вы не можете ссылаться на переменные JS в этом вызове @ Url.Action ()». . Как тогда передать selectedvalue в call action? Мой код, как показано ниже:
<span id="Label1">Select a program year</span>
@Html.DropDownList("year", new List<SelectListItem>
{
new SelectListItem { Text = "2019", Value = "Programs2019"},
new SelectListItem { Text = "2020", Value = "Programs2020"}
}, "Select a year", htmlAttributes: new { style = "width: 300px;" })
и jquery:
<script type="text/javascript">
$(document).ready(function () {
$("#year").change(function () {
var SelectedYr = $('#year').val();
$.ajax({
type: 'POST',
url: '@Url.Action(SelectedYr)',
dataType: 'json',
data: { year: SelectedYr },
success: function (result) {
}
});
});
});
контроллер:
public ActionResult Programs2019()
{
...
}
public ActionResult Programs2020()
{
...
}