微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

来自响应的 ASP.NET Core MVC 空对象

如何解决来自响应的 ASP.NET Core MVC 空对象

我在使用这段代码时遇到了一些问题,我以前使用过类似的东西并且正在工作,但我不知道为什么。每次我点击提交对象消息都为空时,提交到数据库中的唯一值是我在控制器中添加的值,例如日期,我对 ASP.NET 了解不多,不知道为什么会这样在谷歌上寻找自己的失败或正确的术语

型号

public class Message {
        [BsonRepresentation(BsonType.ObjectId)]
        public string Id { get; set; }
        [BsonElement("date")]
        public string Date;
        [BsonElement("sender")]
        public string Sender;
        [BsonElement("body")]
        public string Body;
        [BsonElement("type")]
        public string Type;
        [BsonElement("subject")]
        public string Subject;
    }

控制器


[HttpPost]
public IActionResult Write(Message msg) {
    Mongo.Instance.InsertMessage(new Message() {
        Subject = msg.Subject,Body = msg.Body,Date = DateTime.Now.ToString("dd/MM/yyyy"),Type = msg.Type,Sender = "None"
    });
    return RedirectToAction("Index","Home");
}

表格

 @using (Html.BeginForm("Write","CCG",FormMethod.Post)) {


            <div class="form-group">
                <p>Subject</p>
                @Html.TextBoxFor(model => model.Subject)
            </div>

            <div class="form-group">
                @{
                    List<SelectListItem> items = new List<SelectListItem>();
                    items.Add(new SelectListItem() {
                        Text = "Petition",Value = "petition"
                    });
                    items.Add(new SelectListItem() {
                        Text = "Congratulate",Value = "congratulate"
                    });
                    items.Add(new SelectListItem() {
                        Text = "Offer",Value = "offer"
                    });
                }
                @Html.DropDownListFor(model => model.Type,items)
            </div>

            <div class="form-group">
                <p>Body</p>
                @Html.TextAreaFor(model => model.Body)
            </div>

            <input type="submit" value="Send" />
        }

解决方法

我很确定您需要通过添加 getset 方法将这些字段变成属性。

例如

    public class Message {
        [BsonRepresentation(BsonType.ObjectId)]
        public string Id { get; set; }
        [BsonElement("date")]
        public string Date { get; set; }
        [BsonElement("sender")]
        public string Sender { get; set; }
        [BsonElement("body")]
        public string Body { get; set; }
        [BsonElement("type")]
        public string Type { get; set; }
        [BsonElement("subject")]
        public string Subject { get; set; }
    }
,

为 API 对象创建模型类时,请确保始终具有 getter 和 setter。 :) 快乐编码

public class Activity
{
    public Guid Id { get; set; }
    public string ActivityName { get; set; }
    public string ActivityDescription { get; set; }
    public string ActivityLink { get; set; }
    public string ActivityVenue { get; set; }
    public bool IsActive { get; set; }
    public DateTime DateCreated { get; set; }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。