我收到了这个错误
不存在与HomeController.GetCICO(string)所需的形式参数'SSN‘相对应的参数。
从这个代码中:
public JsonResult GetAllCICO()
{
var cicos = GetCICO().ToList();
var jsonResult = Json(new{data = cicos}, JsonRequestBehavior.AllowGet);
jsonResult.MaxJsonLength = int.MaxValue;
return jsonResult;
}这是GetCICO:
public List<CICO> GetCICO(string SSN)
{
List<CICO> cicos = new List<CICO>();
using (SqlConnection con = new SqlConnection())
{
con.ConnectionString = str;
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = con;
cmd.CommandTimeout = 180;
cmd.CommandText = "SELECT * FROM source_ips WHERE ssn_or_tin = '"+SSN+"' ORDER BY dateTrans ASC";
con.Open();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
if (sdr.HasRows)
{
while (sdr.Read())
{
CICO cico = new CICO()
{
ssn_or_tin = sdr["ssn_or_tin"] == DBNull.Value ? (double?)null : Convert.ToDouble(sdr["ssn_or_tin"]),
cusid = sdr["cusid"] == DBNull.Value ? (double?)null : Convert.ToDouble(sdr["cusid"]),
accountNo = sdr["accountNo"] == DBNull.Value ? (double?)null : Convert.ToDouble(sdr["accountNo"]),
dateTrans = sdr["dateTrans"].ToString(),
transCode = sdr["transCode"] == DBNull.Value ? (int?)null : Convert.ToInt32(sdr["transCode"]),
transdescription_1 = sdr["transdescription_1"].ToString(),
amount = sdr["amount"] == DBNull.Value ? (double?)null : Convert.ToDouble(sdr["amount"]),
cashin = sdr["cashin"] == DBNull.Value ? (double?)null : Convert.ToDouble(sdr["cashin"]),
cashout = sdr["cashout"] == DBNull.Value ? (double?)null : Convert.ToDouble(sdr["cashout"]),
source = sdr["source"].ToString()
};
cicos.Add(cico);
}
}
}
con.Close();
}
}
return cicos;
}这是我的抄本
var SSNdata = { SSN: $("#SSN").val() };
$.ajax({
type: "POST",
url: "/Home/GetCICO",
data: SSNdata,
dataType: "json"
});发布于 2017-07-15 07:16:18
那么,你想发到哪种方法呢?我想这就是你想要的。
联署材料:
url: "/Home/GetAllCICO"C#:
[HttpPost]
public JsonResult GetAllCICO(string SSN)
{
var cicos = GetCICO(SSN).ToList();
var jsonResult = Json(new{data = cicos});
return jsonResult;
}发布于 2017-07-15 07:16:40
似乎您正在调用控制器中的错误操作"GetCICO“,您需要在您的URL中调用"GetALLCICO”:
url: "/Home/GetCICO" this is wrong URL
Your URL should be
url: "/Home/GetALLCICO"你的Json行动应该是:
[HttpPost]
public JsonResult GetAllCICO(string SSN)
{
var cicos = GetCICO().ToList();
var jsonResult = Json(new{data = cicos}, JsonRequestBehavior.AllowGet);
jsonResult.MaxJsonLength = int.MaxValue;
return jsonResult;
}因为您是URL中的一个参数'SSN‘:
var SSNdata = { SSN: $("#SSN").val() };
$.ajax({
type: "POST",
contentType: "application/json;charset=utf-8",
url: "/Home/GetAllCICO",
data: JSON.stringify(SSNdata),
dataType: "json"
});根据这一点,您的控制器操作应该是:
[HttpPost]
public JsonResult GetAllCICO(string SSN)发布于 2017-07-15 07:19:09
Hansmagz,我认为您是在用HttpGet的uri HttpGet获取数据。
如果是,请尝试以下代码。
jquery
var SSNdata = { SSN: $("#SSN").val() };
$.ajax({
type: "GET",
url: "/Home/GetCICO",
data: SSNdata,
dataType: "json"
});MVC控制器
public JsonResult GetAllCICO(SSNdata data)
{
var cicos = GetCICO(data.SSN).ToList();
var jsonResult = Json(new{data = cicos}, JsonRequestBehavior.AllowGet);
jsonResult.MaxJsonLength = int.MaxValue;
return jsonResult;
}SSNdata类
public class SSNdata
{
public string SSN{get;set;}
}希望这能有所帮助!
https://stackoverflow.com/questions/45115460
复制相似问题