我已经看了很多关于SO的帖子来弄清楚我的情况,但收效甚微。我尝试将数据从javascript函数(DropdownChange())发送到MVC控制器Action方法作为参数,基于在视图上选择的下拉值。这是我的代码:
在.cshtml中 //下拉代码 ....其次是 //用于创建新计划的代码
<a href="@Url.Action("ActionMethod")">
<i class="sth" id="sth" Title="Create"></i>
</a>
在.JS文件中,获取下拉列表更改值的功能
function DropdownChange(){
var Value = parseInt($("#dropDownId").val());
$.ajax({
type: "POST",
url: '@ Url.Action("ActionMethod", "Home")',
contentType: 'application/json; charset=utf-8',
dataType: "json",
data: {data : JSON.Stringify(Value)},
success: function (data) {
alert('success');
},
error: error: function (result){
alert('error');
}
});
这是我的Controller动作方法
[HttpPost]
public ActionResult ActionMethod(string Value)
{
// do something with Value
}
我得到的是一个错误警告消息和一个JS运行时错误以及Value参数的空值。在这种情况下,任何人都可以帮助我。 提前谢谢。
答案 0 :(得分:0)
尝试
$.ajax({
type: "POST",
url: '@ Url.Action("ActionMethod", "Home")',
contentType: 'application/json; charset=utf-8',
dataType: "json",
data: JSON.stringify({data: Value}),
success: function (data) {
alert('success');
},
error: error: function (result){
alert('error');
}
});
OR
$.ajax({
type: "POST",
url: '@ Url.Action("ActionMethod", "Home")',
contentType: 'application/json; charset=utf-8',
dataType: "json",
data: Value,
success: function (data) {
alert('success');
},
error: error: function (result){
alert('error');
}
});