您好,您可以在屏幕截图中看到我通过ajax post请求接收到键值对,但我不知道该如何解码它们在我的网络方法。在asp.net web方法中获取AJAX POST请求的键值对的值
[System.Web.Services.WebMethod]
public static string Get_Data(string funcParam)
{
return "";
}
您好,您可以在屏幕截图中看到我通过ajax post请求接收到键值对,但我不知道该如何解码它们在我的网络方法。在asp.net web方法中获取AJAX POST请求的键值对的值
[System.Web.Services.WebMethod]
public static string Get_Data(string funcParam)
{
return "";
}
您可以创建e javascript中的对象,并使用JSON.stringify()
将其发送到[WebMethod]
。该对象将自动被反序列化为后面代码中的C#类。
后面的代码:
public partial class CallingWebMethodFromJS : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[System.Web.Services.WebMethod]
public static string Get_Data(Parameters parameters)
{
System.Diagnostics.Debugger.Break();
return "";
}
}
public class Parameters
{
public string Value1 { get; set; }
public string Value2 { get; set; }
public string Value3 { get; set; }
}
.ASPX:
<head runat="server">
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$("#btnOK").click(function() {
var parameters =
{
"Value1": $("#value1").val(),
"Value2": $("#value2").val(),
"Value3": $("#value3").val(),
};
$.ajax({
type: "POST",
url: "CallingWebMethodFromJS.aspx/Get_Data",
contentType: "application/json",
data: JSON.stringify({ parameters: parameters }),
success: function (data) {
alert('success');
},
error: function (errordata) {
alert('failure');
}
});
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<input type="text" id="value1" />
<input type="text" id="value2" />
<input type="text" id="value3" />
<input type="button" value="OK" id="btnOK" />
</form>
</body>
如果你得到的WebMethod该值。 拆分您的结果是“&”。所以你有密钥的列表和值对。
OR:反序列化JSON
通行证的Json string和转换是JSON类(反序列化)的任何列表中再次
但那不是好的解决办法?以及如何与多对配对? –
试试这个..
JObject o = JObject.Parse(funcParam);
string value1= (string)o["textbox1"];
调试你的javascript并告诉我错误是什么?我有一个名为CallingWebMethodFromJS.aspx的页面,并且在该页面中,我有一个名为Get_Data的[WebMethod],如果你的设置不一样,你会得到一个错误。如果你不有3个文本框在您的HTML ID值为1 value2和value3你也会得到一个error.Debug你的JavaScript在浏览器控制台 –
错误消失了,但有没有办法在其中我可以使用FormCollection内置的类接收窗体? –
用来做什么?使用强类型的C#类比FormCollection更容易出错,这是一个NameValueCollection –