我可以从角度控制器中调用c#方法:
angualarjs:
$http.post('myC#Function', { "input": input )
.success(function (response) {
console.log("success send response: " + response);
})
.error(function (response) {
console("error send response: " + response);
});
C#
public string myC#Function(string input)
{
return "success";
}
当我尝试将一个2D数组从angular传递给c#控制器时,我的问题出现了:
angularjs:
var my2DArray= [[], []];
// array is populated here (not shown)
$http.post('myC#Function', { "inputArray": my2DArray)
.success(function (response) {
console.log("success send response: " + response);
})
.error(function (response) {
console("error send response: " + response);
});
C#
public string myC#Function(string[,]input)
{
return "success";
}
任何帮助都会得到满足。
答案 0 :(得分:0)
使用Newtonsoft Json库(必须已经在您的项目中)。
public string YourCSharpFunction(string yourJson2DArrayFromAngular)
{
var your2DArrayInCSharp = JsonConvert.DeserializeObject<string[,]>(yourJson2DArrayFromAngular);
return "success";
}
答案 1 :(得分:0)
使用JSON.stringify
$http.post('myC#Function', { JSON.stringify({ input : input }) })
和C#函数签名为
public string myC#Function(string[][] input) {}
您应该将contentType: "application/json; charset=UTF-8"
添加到post header