如何启用Visual Studio以识别和操作代码隐藏文件中的JSON数据? (换句话说,解决json does not exist in the current context
错误)。我希望能够:
我见过很多答案,但大多数建议要么(1)安装json包,要么(2)使用using
指令。我尝试了后者的许多变种而没有运气。
在Visual Studio中包含JSON支持的正确方法是什么? 如何正确检索(例如来自POST AJAX调用),操纵(例如更改)和发回(即响应客户端) )C#中的JSON数据?非常基本的原始例子会有所帮助!
答案 0 :(得分:0)
ASP.Net Web表单WebMethod。您可以使用Ajax从客户端调用这些静态方法。
<%@ Page Language="C#" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="DemoWebApplication.Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<button type="button" onclick="postData();">Post Data</button>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
</script>
<script type="text/javascript">
function postData() {
var user = { firstName: "John", lastName: "Doe" };
$.ajax({
type: "POST",
url: '<%= ResolveUrl("~/default.aspx/postjson") %>',
data: "{user:" + JSON.stringify(user) + "}",
contentType: "application/json",
success: function (msg) {
console.log(msg.d);
}
});
}
</script>
</form>
</body>
</html>
using System.Web.Script.Serialization;
namespace DemoWebApplication
{
public partial class Default : System.Web.UI.Page
{
[System.Web.Services.WebMethod]
public static string PostJson(User user)
{
user.FirstName += "Test";
user.LastName += "Test";
return new JavaScriptSerializer().Serialize(user);
}
}
public class User
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
}
在Visual Studio中包含JSON支持的正确方法是什么?
Visual Studio与发送和接收JSON无关。如果您想要一种正确的方法,您可能需要考虑使用ASP.Net Web API。