return 视图中的元组到 js
return Tuple to js in view
尝试使用像
这样的 c# 7 元组
public (string, bool) ProcessForm([FromBody]Dictionary<string,string> contactFormRequest)
但我收到错误 "CS1031: Type expected"。我想这还不支持。
然后我试了
public Tuple<string, bool> ProcessForm([FromBody]Dictionary<string,string> contactFormRequest)
{
var message = "test";
var result = true;
var tuple = new Tuple<string, bool>(message, result);
return tuple;
}
这没有错误,但我无法在视图文件中提取它
function handleResult(data) {
$("#custommessages").html(data.Item1);
}
sxc(@Dnn.Module.ModuleID).webApi.post("Form/ProcessForm", {}, newItem, true).then(handleResult);
这没有输出。
如果我 return 来自控制器的一个简单字符串,"data" 可以很好地选择它。
如何从元组中获取值 return?
为什么不创建一个 POCO class 用于序列化:
public class SomeResult
{
public string Message{get;set;}
public bool Result{get;set;}
}
然后
public SomeResult ProcessForm([FromBody]Dictionary<string,string> contactFormRequest)
{
var message = "test";
var result = true;
return new SomeResult{Message = message, Result = result};
}
为什么不 return 一个 IActionResult?
你可以简单地写一个匿名类型而不是元组!
命名类型可能会占用一些无用的空间(我认为...)
试试这个:
public IActionResult ProcessForm([FromBody]Dictionary<string,string> contactFormRequest)
{
var message = "test";
var result = true;
//This will create an anonymous type! (you can see its named as "a'")
var resultData = new { Message = message, Result = result };
return Json(resultData);
}
希望对您有所帮助。
尝试使用像
这样的 c# 7 元组public (string, bool) ProcessForm([FromBody]Dictionary<string,string> contactFormRequest)
但我收到错误 "CS1031: Type expected"。我想这还不支持。
然后我试了
public Tuple<string, bool> ProcessForm([FromBody]Dictionary<string,string> contactFormRequest)
{
var message = "test";
var result = true;
var tuple = new Tuple<string, bool>(message, result);
return tuple;
}
这没有错误,但我无法在视图文件中提取它
function handleResult(data) {
$("#custommessages").html(data.Item1);
}
sxc(@Dnn.Module.ModuleID).webApi.post("Form/ProcessForm", {}, newItem, true).then(handleResult);
这没有输出。
如果我 return 来自控制器的一个简单字符串,"data" 可以很好地选择它。
如何从元组中获取值 return?
为什么不创建一个 POCO class 用于序列化:
public class SomeResult
{
public string Message{get;set;}
public bool Result{get;set;}
}
然后
public SomeResult ProcessForm([FromBody]Dictionary<string,string> contactFormRequest)
{
var message = "test";
var result = true;
return new SomeResult{Message = message, Result = result};
}
为什么不 return 一个 IActionResult?
你可以简单地写一个匿名类型而不是元组!
命名类型可能会占用一些无用的空间(我认为...)
试试这个:
public IActionResult ProcessForm([FromBody]Dictionary<string,string> contactFormRequest)
{
var message = "test";
var result = true;
//This will create an anonymous type! (you can see its named as "a'")
var resultData = new { Message = message, Result = result };
return Json(resultData);
}
希望对您有所帮助。