表单绑定给出null属性

时间:2017-09-30 17:58:37

标签: c# asp.net-mvc asp.net-core asp.net-core-mvc asp.net-core-2.0

我尝试了几种处理尝试解决问题的方法,如

默认活页夹问题:https://stackoverflow.com/a/37601937/4444304

他们没有工作...... 这显然也不是嵌套的。其中大多数是由嵌套问题引起的......

Form.Request获取提交的参数。只是模型似乎没有分配:s

更奇怪的是,该字段标记为必需。但Model模型也会返回Valid。

我无法真正看到我能找到或做得更多......谢谢。

我的模特看起来像这样 的 EmailSubmitModel.cs

using System.ComponentModel.DataAnnotations;

namespace myapp.Models.Home
{
    public class EmailSubmitModel
    {
        [Required(ErrorMessage = "Please enter your name")]
        public string FriendName;
    }
}

HomeController.cs

using myapp.Models.Home;

[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Submit(EmailSubmitModel emailSubmitModel)
{
    if (ModelState.IsValid)
    {
        return Json(emailSubmitModel);
    }
    return View(emailSubmitModel);
}

index.cshtml

@using myapp.Models.Home
@model EmailSubmitModel
<form asp-controller="Home" asp-action="Submit" method="post">
    <div asp-validation-summary="All"></div>
    <label asp-for="FriendName">@Localizer["Friend's Name"]</label>
    <input asp-for="FriendName" type="text" />
    <span asp-validation-for="FriendName"></span>
    <input type="submit" class="btn btn-warning">@Localizer["Send the email"]</button>
</form>

1 个答案:

答案 0 :(得分:1)

FriendName应声明为property。目前这是一个领域:

public string FriendName { get; set; }