将视图模型从剃刀视图传递到控制器操作

时间:2019-02-02 17:29:31

标签: c# asp.net-core viewmodel asp.net-core-2.2

使用asp.net core 2.2时出现问题。 我有一个名为“测试”的模型。

public class Test
{
    public string Email { get; set; }
}

还有一个名为“ UserController”的控制器,具有以下操作:

public IActionResult Test()
{
    var test = new Test
    {
        Email = "Hamid@gmail.com"
    };
    return View(test);
}

[HttpPost]
public IActionResult Test(Test param)
{
    if (ModelState.IsValid)
    {

    }
    return View();
}

名为“ test.cshtml”的视图为:

@model Test
@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Test</title>
</head>
<body>
    <form asp-controller="User" asp-action="Test" asp-area="Account" method="post">
        <div class="form-group row">
            <div class="col-lg-3 col-12">
                <label asp-for="Email" class="col-form-label">Email:</label>
            </div>
            <div class="col-lg-9 col-12">
                <input asp-for="Email" class="form-control email"
                       value="@Model.Email" autofocus="autofocus" />
            </div>
        </div>
        <input type="submit" value="Send" />
    </form>

</body>
</html>

当我向视图发送模型时,没问题, 但是,当我单击“提交”按钮以将表单发送给操作时,则我的模型为空。

image

1 个答案:

答案 0 :(得分:0)

我的问题解决了。

通过删除该行:

@removeTagHelper Microsoft.AspNetCore.Mvc.TagHelpers.InputTagHelper, Microsoft.AspNetCore.Mvc.TagHelpers