我的操作方法采用自定义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类型,但它不起作用。