Я пытаюсь вызвать метод действия в приложении MVC, используя jQuery. По сути, я хочу взять значение пары полей ввода и вызвать метод действия, нажав кнопку, передавая значения полей ввода в качестве параметров. Но я получаю только значение параметра «число», а не «год».
function selectWeek() {
$('#selectWeekButton').click(function (event) {
var number = $("#selectWeekId").val();
var year = $("#selectYearId").val();
var actionUrl = '<%: Url.Action("Edit", new { number="WEEKPLACEHOLDER", year="YEARPLACEHOLDER" }) %>'
var yearUrl = actionUrl.replace('YEARPLACEHOLDER', year);
var url = yearUrl.replace('WEEKPLACEHOLDER', number);
alert(url);
$.get(url, function (data) {
alert('Test');
});
});
}
Я проверил URL с предупреждением, как вы можете видеть, и, похоже, оно хорошо содержит оба значения. Но когда я проверяю значение параметра year в методе action, оно становится нулевым.
Вот поля ввода:
<span>Vecka: </span>
<input type="text" id="selectWeekId" />
<span>År: </span>
<input type="text" id="selectYearId" />
<input type="button" value="Välj vecka" id="selectWeekButton" />
И начало действия метода:
public ActionResult Edit(string number, string year)
//etc...
Я знаю, что это выглядит странно, а не просто связывать поля, но причина в том, что эти поля ввода и их значения не являются основной целью этого представления. Они просто хотят выбрать еще одну неделю в этом приложении. И, кроме того, я собираюсь заменить поля ввода календарем jQuery, поэтому мне все равно придется делать что-то вроде этого.
Так, каков самый простой способ сделать это, и почему он не работает как есть?