【发布时间】:2012-03-29 12:28:48
【问题描述】:
我有一个关于在 C# 中读取 JSON 字符串的问题。我的情况如下。
我有 ASP.NET MVC C# 项目(.NET 框架 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 参数为空。我还尝试在 ajax 函数中修改“数据”行,如下所示:
data: JSON.stringify(sampleData), 但效果不佳。
我试图提醒 sampleData 对象的各个属性,它们具有它们应该具有的值,但由于某种原因,ActionMethod 的 sampleData 参数为空。 有人能告诉我我错过了什么吗?也许这是我的语法错误,或者在 c# 方面需要做一些事情?
任何帮助将不胜感激
【问题讨论】:
-
向我们展示生成的 json 字符串。这很可能是这里的关键。
-
生成的字符串是 {"RaceName":"Human","StatOrigValue":"14","FreePts":"5"}
标签: c# asp.net-mvc jquery