gpt4 book ai didi

c# - 在 Web 方法中访问 JSON 调用的参数

转载 作者:太空宇宙 更新时间:2023-11-03 16:51:09 25 4
gpt4 key购买 nike

我不需要任何花哨或复杂的东西,我只是想将一个简单的字符串作为参数传递给我的网络方法。我该怎么做?

这里是web方法调用 [网络方法] public static ArrayList GetColumns(string TorVName)

这是 JSON 调用:

<script type="text/javascript" language="javascript"> 
var qs = new Querystring();
var v1 = qs.get("TorVName");
var jsonData = JSON.stringify(v1);
$().ready(function() {
$.ajax({
type: "POST",
url: "Default.aspx/GetColumns",
data: jsonData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
var optString = '<option value="-1">Select Column</option>';

$.each(msg.d, function(index, item) {
optString += '<option value="' + item + '">' + item + '</option>';
});
$('select[name^=DDLColumns]').html(optString);
},
error: function() {
alert("Failed to load columns");
}
});
});
</script>

这是我的网络方法的本质:

   public static ArrayList GetColumns(string TorVName)
{
String cnstr = "myconnectstring";
//string TorVName = System.Web.HttpContext.Current.Request.QueryString["TableOrViewName"];
//string TorVName = "Aged";
//JavaScriptSerializer serializer = new JavaScriptSerializer();
string TorVName = System.Web.HttpContext.Current.Request.QueryString["TOrVName"].ToString();
string Sql = String.Empty;

我认为这需要如此复杂和困难,这是愚蠢和令人沮丧的。

谢谢院长

最佳答案

在您的 ajax 请求中,对于数据参数,这样做:

data: "myData=" + jsonData,

然后在您的网络方法中,将参数与“myData”匹配,如下所示:

[WebMethod()]
public static ArrayList GetColumns(string myData)
{
.....Your code
}

如果名称相同,您的 Web 方法足够智能,可以将参数与实参匹配。一旦您收到您的字符串,您就可以反序列化它并调用您的非网络方法来实例化您的自定义数据对象。

关于c# - 在 Web 方法中访问 JSON 调用的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3934885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com