【发布时间】:2010-12-27 22:37:55
【问题描述】:
我正在尝试使用 jQuery 在 MVC 应用程序中调用操作方法。基本上我想要的是获取几个输入字段的值并通过单击按钮调用操作方法,将输入字段的值作为参数传递。但我只得到“数字”参数的值,而不是“年份”参数。
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,它似乎包含两个值都很好。但是当我在 action 方法中检查 year 参数的值时,它是 null。
这里是输入字段:
<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...
我知道这看起来很奇怪,而不是仅仅绑定字段,但原因是这些输入字段和它们的值并不是这个 View 的主要目的。他们只是在此时间表应用程序中选择另一周。此外,我最终将用 jQuery 日历替换输入字段,所以我仍然需要做这样的事情。
那么最简单的方法是什么,为什么不能按原样工作?
【问题讨论】:
-
不确定,但我认为这是一个路由问题。
标签: asp.net jquery asp.net-mvc-2