У меня есть вопрос о чтении строки JSON в C #. Мой сценарий следующий.
У меня есть проект ASP.NET MVC C # (.NET Framework 3.5). В LobbyController у меня есть
.
.
.
using System.IO;
using System.Web.Script.Serialization;
.
.
.
[HttpPost]
public ActionResult SomeMethod(string sampleData)
{
//do stuff here
}
и в файле сценария jquery я определил функцию щелчка
$("#buttonID").click(function() {
var sampleData = {
"property1": $('#elementID1').val(),
"property2": $('#elementID2').val(),
"property3": $('#elementID3').val()
};
$.ajax({
url: "/Lobby.aspx/SomeMethod",
type: "POST",
data: sampleData,
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function() { $('#message').html('Success').fadeIn(); },
error: function() { $('#message').html('Error').fadeIn(); }
});
});
Теперь, при щелчке запускается ajax-функция, и SomeMethod вызывается в контроллере, как и ожидалось, но параметр sampleData имеет значение null. Я также попытался изменить строку «data» в функции ajax следующим образом:
data: JSON.stringify(sampleData),
но это не сработало.
Я пытался предупредить отдельные свойства объекта sampleData, и они имели значение, которое они должны иметь, но по какой-то причине параметр sampleData в ActionMethod имеет значение null.
Может кто-нибудь сказать мне, что мне не хватает? Может быть, это синтаксическая ошибка с моей стороны или что-то нужно делать на стороне c #?
Буду признателен за любую помощь