模型在使用 C# 作为参数从 POST 方法传递到 ASP.NET MVC 中同一控制器的 GET 方法时获取 NULL

Model gets NULL while passing as parameter from POST method to GET method of same controller in ASP.NET MVC using C#

我无法在由同一控制器的 POST 传递的 GET 方法中获取模型及其值。请在下面找到代码片段。请帮我解决一下。

型号:

public class country
{
    public string CountryCode { get; set; }
    public long? CountryId { get; set; }
}

控制器:

[HttpGet]
public async Task<ActionResult> Create()
{
    return View();
}

[HttpPost]
public async Task<ActionResult> Create(Country _country)
{
    var data = await checkduplicate(_country);

    if (!data.status)
    {
        ModelState.AddModelError("Name", data.ErrorMessage);
        return RedirectToAction("Edit", new {_country});
    }
    else
    {
        return RedirectToAction("Index");
    }
}

public async Task<ActionResult> Edit(Country _country)
{
    return View("Create", _country);
}

在这个示例中,我只给出了两个值,但实际上我有大约 8 个参数。请提出建议。我用过razor view page.

提前致谢。

我得到了答案,这是一个小错误,同时通过 post 端发送模型。 它应该如下所示。我在其中包含了关键字“new”。删除关键字 new 后,它工作正常。

[HttpPost]
public async Task<ActionResult> Create(Country _country)
{
    var data = await checkduplicate(_country);

    if (!data.status)
    {
        ModelState.AddModelError("Name", data.ErrorMessage);
        return RedirectToAction("Edit", _country);
    }
    else
    {
        return RedirectToAction("Index");
    }
}