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

问题描述 投票:0回答:1

我有一个问题,使用asp.net 2.2核心时。我有一个名为“测试”的模式。

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

和控制器命名为“UserController的”这些行动:

public IActionResult Test()
{
    var test = new Test
    {
        Email = "[email protected]"
    };
    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

c# asp.net-core viewmodel asp.net-core-2.2
1个回答
0
投票

我的问题就迎刃而解了。

与删除此行:

@removeTagHelper Microsoft.AspNetCore.Mvc.TagHelpers.InputTagHelper, Microsoft.AspNetCore.Mvc.TagHelpers
© www.soinside.com 2019 - 2024. All rights reserved.