J'utilise ASPNET MVC 2.0. J'essaie de transmettre une valeur de la fonction View to Controller en utilisant la fonction jquery .ajax. Ma fonction est 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);
}
});
});
});
Et ma fonction de contrôleur est la suivante:
public ActionResult SearchTrader(string strData)
{
//Function to search DB based on the string passed
return Json(lstDictObject);
}
Mon problème est que je ne suis pas en mesure d'obtenir la valeur de mon contrôleur. Je deviens strData comme 'null'. Je pense qu'il y a une erreur dans la façon dont j'essaie de transmettre la valeur? Quelqu'un peut-il me corriger?
Merci à l'avance,
Vipin Menon
Essayez JSON valide: ''{" strData ":"' + searchString + '"}'', une différence? –
cela pourrait être un problème de routage. la valeur par défaut est "probablement" définie sur id. un nouvel itinéraire peut vous aider. –