Razor 页面的 OnPost

OnPost for Razor Page

我正在尝试将我的 MVC 转换为剃刀页面。

这是我的 MVC 示例代码

public ActionResult Register(Member member)
    {            
        if (ModelState.IsValid)
        {                 
            using (var client = new HttpClient())
            {
                 client.BaseAddress = new Uri(baseUrl);
                 var postTask = client.PostAsJsonAsync("Member", member);
                 postTask.Wait();
                 var result = postTask.Result;
                 if (result.IsSuccessStatusCode)
                 {
                     return RedirectToAction("Index", "Home");
                 }    
            }  
       }
       return View(member);
    }

这是我到目前为止转换为 Razor 页面的内容

public IActionResult OnPost(Member member)
    {
        if (ModelState.IsValid)
        {
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(baseUrl);
                var postTask = client.PostAsync("Member", member);
                postTask.Wait();
                var result = postTask.Result;
                if (result.IsSuccessStatusCode)
                {
                    return RedirectToPage("~/Index");
                }
            }
        }
        return Page(member);
    }

但是在 Razor 页面的这一行

var postTask = client.PostAsync("Member", member);

它告诉我错误

Cannot convert from 'Models.Member' to 'System.Net.Http.Httpcontent'

我可以知道如何解决这个问题吗?我不确定我应该用什么来替换 member

这个词

在 .net core post 异步中,httpcontent 参数包含请求正文。您应该像这样格式化您即将提交的数据;

var content = new StringContent(JsonConvert.SerializeObject(member), UnicodeEncoding.UTF8, "application/json");
var postTask = client.PostAsync("Member", content);