【发布时间】:2019-11-29 05:56:48
【问题描述】:
我在 asp.net 核心中遇到问题,我无法解决。 我从 asp.net MVC 框架中获取了一个工作代码并将其传递给 asp.net core MVC。
代码具有 angular 1.6 的 HTTP-POST 如下
$http.post('/Main/Post', $scope.ContactEmailDetails, { header: { 'Content-Type': 'application/json' } });
当我测试它时,$scope.ContactEmailDetails 具有值,并且调试器在 HTTP-POST 方法的开头停止了我,因此路由正常。
public class ContactUsProperties
{
public string Phone { get; set; }
public string Email { get; set; }
public string Name { get; set; }
public string Subject { get; set; }
public string Body { get; set; }
}
控制器动作
[HttpPost]
public void Post(ContactUsProperties EmailDetails)
{
//Working Code...
}
但是传输的所有数据都是空的,
所以我有 2 个问题:
- 如何解决。
- 更重要的是,为什么?! ASP.NET MVC 与 ASP.NET CORE MVC 有什么区别?
【问题讨论】:
-
你有 json 示例给我们吗?解析位可能有错误
-
可能是模型绑定问题
public void Post([FromBody]ContactUsProperties EmailDetails) -
@arlanschouwstra 是的,我上传到这里imgur.com/a/T80Wo52
-
@Nkosi 据我所知 [Frombody] 在这里使用单个变量(例如字符串)我正在传递一个对象。假设你是对的,它为什么在非核心 ASP.NET 上工作?
-
@saba Core 是对先前版本的完全重写。有些事情与以前相比发生了变化。 docs.microsoft.com/en-us/aspnet/core/mvc/models/…
标签: c# angularjs asp.net-mvc asp.net-core http-post