我正在使用ASPNET MVC 2.0。我正在尝试使用jquery函数.ajax将值从View传递给Controller函数。我的jquery函数是:
$(document).ready(function() {
$("#Search").click(function(event) {
var searchString = $("#TraderSearch").val();
$.ajax({
type: 'POST',
url: '/Build/SearchTrader',
data: "{strData : '" + searchString + "' }",
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function(ResultList) {
var contents = "";
var count = 0;
$(ResultList).each(function() {
contents = contents + '<tr><td>' + ResultList[count].Name + '</td><td>' + ResultList[count].Value +
'</td><td><a class="edit"><img src="../../html/images/Edit.gif" width="14" height="14" alt="edit" /></a></td></tr>';
count = count + 1;
});
$("#SerachResultList").append(contents);
alert("{strData : '" + searchString + "' }");
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Error: " + textStatus + "\n" + errorThrown);
}
});
});
});
我的控制器功能如下:
public ActionResult SearchTrader(string strData)
{
//Function to search DB based on the string passed
return Json(lstDictObject);
}
我的问题是,我无法获得控制器中的值。我得strData为'null'。我认为我试图传递价值的方式存在重大错误?任何人都可以纠正我吗?
先谢谢,
Vipin Menon
答案 0 :(得分:0)
试试这个:
data: "strData = " + searchstring
答案 1 :(得分:0)
我相信以下内容应该有效:
data: { strData: searchstring }
引用在我刚刚测试的脚本中引起了同样的问题。
如果这是您的实际代码,您还需要检查“#SerachResultList”上的拼写。