首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET MVC 5 Web不接受来自ASP.NET核心解决方案的POST视图模型

ASP.NET MVC 5 Web不接受来自ASP.NET核心解决方案的POST视图模型
EN

Stack Overflow用户
提问于 2019-04-12 12:41:54
回答 2查看 610关注 0票数 1

我有两种解决方案,一种是MVC5网络应用程序,另一种是作为基本web表单的MVC核心2.2Web应用程序。

我试图将webform数据(使用ViewModel)发布到MVC5 web应用程序API中。

代码

MVC5 web应用程序/api上的POST方法

代码语言:javascript
复制
// POST
[HttpPost]
public IHttpActionResult Post([FromBody] WebFormDataVM personData)
{
    // logic here
}

MVC核心webform (张贴到上面)

代码语言:javascript
复制
[HttpPost]
public async Task<ActionResult> Create(PersonVM personData)
{
    var path = "api/WebForm/Post";
    var url = new Uri("http://localhost:60291/");
    var client = new HttpClient();
    client.BaseAddress = url;

    var response = await client.PostAsJsonAsync(path, personData);

    return RedirectToAction("Index");
}

The Issue

在发布viewmodel时,POST方法API参数(WebformDataVM personData)始终是null

我尝试过完全相同的设置,但使用的是MVC5项目/解决方案,而不是核心,它工作正常。

我已经尝试过的

发布字符串而不是视图模型对象

从.net核心项目中删除HTTPS (通过项目选项)

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-14 09:57:57

你应该把你的目标变成json。

代码语言:javascript
复制
        using (HttpClient client = new HttpClient())
        {
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            var url ="yourUrl" // http://localhost:60291/api/WebForm/Post
            var model=yourObject; //PersonVM  
            HttpResponseMessage response = await client.PostAsync(url, new StringContent(JsonConvert.SerializeObject(yourObject),Encoding.UTF8, "application/json"));

        }
票数 0
EN

Stack Overflow用户

发布于 2019-04-12 16:07:38

请试一下这个解决方案。

代码语言:javascript
复制
[HttpPost]
public async Task<ActionResult> Create(PersonVM personData)
{
 using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("http://localhost:60291/api/WebForm/Post");

                var response = await client.PostAsJsonAsync("personData", personData);
                return RedirectToAction("Index");

            }

}



   [HttpPost]
    public IHttpActionResult  Post(WebFormDataVM personData)
        {
           // code
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55651868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档