Я использую ASPNET MVC 2.0. Я пытаюсь передать значение из функции View to Controller с помощью функции jquery .ajax. Моя функция 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 Менон
Попробуйте использовать JSON: '' {"strData": "'+ searchString +'"} '', любая разница? –
это может быть проблема маршрутизации. по умолчанию «вероятно» установлено значение id. новый маршрут может помочь вам. –