gpt4 book ai didi

c# - JSON 与 ASP 返回错误

转载 作者:太空狗 更新时间:2023-10-29 17:44:27 26 4
gpt4 key购买 nike

我们正在使用由外部供应商编写的 ASP 应用程序。我的任务是对应用程序进行一些小改动,但是我对 asp 或 json 一无所知。通过一些研究,我把这些放在一起。我在表单上创建了一个文本框,我想将客户端 IP 地址返回到该文本框。我写了一个函数然后是一个 Controller 。两者的代码如下:

函数

function processgetip(event) {
// Within this function, make an AJAX call to get the IP Address
$.getJSON('@Url.Action("GetIPAddress","getipaddress")', function (ip) {
// When this call is done, your IP should be stored in 'ip', so
// You can use it how you would like

// Example: Setting a TextBox with ID "YourElement" to your returned IP Address
$("#facility").val(ip);
});
}

Controller

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web;
using System.Web.Mvc;

namespace Parker_Hannifin.Controllers
{
public class getipaddressController : ApiController
{
public JsonResult GetIPAddress()
{

System.Web.HttpContext context = System.Web.HttpContext.Current;

string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

if (!string.IsNullOrEmpty(ipAddress))
{
string[] addresses = ipAddress.Split(',');
if (addresses.Length != 0)
{
//return addresses[0]; //
ipAddress = addresses[0];
}
}

//replace ipaddress with ipAddress
return Json(ipAddress, JsonRequestBehavior.AllowGet);
}


}
}

我在这行代码中遇到了这些错误:

返回 Json(ipAddress, JsonRequestBehavior.AllowGet);

我得到的错误是:

The best overloaded method match for System.Web.Http.ApiController.Json(string, Newtonsoft.Json.JsonSerializerSettings) has some invalid arguments. Cannot convert from System.Web.Mvc.JsonRequestBehavior to Newtonsoft.Json.JsonSerializerSettings

如果有人能告诉我它们的含义以及如何修复它们,我将不胜感激。

最佳答案

ApiController 中的

Json 具有两个参数的签名,

protected internal JsonResult<T> Json<T>(
T content,
JsonSerializerSettings serializerSettings
)
Controller 中的

Json 具有两个参数的签名,

protected internal JsonResult Json(
object data,
JsonRequestBehavior behavior
)

getipaddressController继承自ApiController,但是你使用了Controller方法Json。使用,

return new JsonResult()
{
Data = ipAddress,
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};

如果您仍然想要这种行为。

关于c# - JSON 与 ASP 返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36285625/

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