And*_*ers 4 asp.net jquery asp.net-mvc-2
我正在尝试使用jQuery在MVC应用程序中调用一个action方法.基本上我想要的是获取几个输入字段的值,并通过单击按钮调用操作方法,将输入字段的值作为参数传递.但我只得到"数字"参数的值,而不是"年"参数.
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');
});
});
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我用警报检查了网址,并且它似乎包含两个值都很好.但是当我在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" />
Run Code Online (Sandbox Code Playgroud)
并且动作方法的开头:
public ActionResult Edit(string number, string year)
//etc...
Run Code Online (Sandbox Code Playgroud)
我知道这看起来很奇怪,而不仅仅是绑定字段,但原因是这些输入字段及其值不是此View的主要目的.他们只是在这个时间表应用程序中选择另一周.此外,我最终将用jQuery日历替换输入字段,所以我仍然必须做这样的事情.
那么最简单的方法是什么,为什么它不能正常工作呢?
我通常使用$ .get方法的jQuery第二个参数来输入URL参数.这是一篇文章(asp.net mvc 1,但仍然是一个有效的例子):
http://blog.bobcravens.com/2009/11/ajax-calls-to-asp-net-mvc-action-methods-using-jquery/
试试这样:
var number = $('#selectWeekId').val();
var year = $('#selectYearId').val();
var url = '<%: Url.Action("Edit") %>';
$.get(url, { number: number, year: year }, function (data) {
alert('Test');
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32719 次 |
| 最近记录: |