将jquery发布数据绑定到c#类型

时间:2018-05-07 20:06:24

标签: javascript jquery asp.net-core-mvc

我的操作方法采用自定义C#类 - Comment.cs:

public class Comment
{
  public int ID {get; set;}
  public int CardID {get; set;}
  public int UserID {get;set;}
  public string Comment {get;set;}
}

在我的视图中,我有一个表单,其中包含类中每个属性的输入字段,ID除外(由数据库生成)。我使用jquery阻止表单提交时的默认行为,并使用$ .post这样 -

$('.form').on('submit', function(e) {
  e.preventDefault();
  var comment = this.Comment.value;
  var cardId = this.CardID.value;
  var userId = this.UserID.value;
  $.post('/Cards/AddComment',
      {
        Comment: comment,
        CardID: cardId,
        UserID: userId
      });
});

Html -

<form asp-controller="Cards" asp-action="AddComment" id="comment-form">
    <input class="form-control" name="Comment" placeholder="Leave a comment.." />
    <input class="form-control" name="CardID" type="hidden" />
    <input class="form-control" name="UserID" value="@User.Claims.ElementAt(0).Value" type="hidden" />
    <input type="submit" />
</form>

行动方法 -

public IActionResult AddComment(Comment comment)
{
  // comment.Comment == null
  // comment.CardID == null
  // comment.UserID == null
}

我试图将我发布的jQuery数据自动投射到Comment类型,但它不起作用。

0 个答案:

没有答案