我正在写博客。通过该博客,我可以发送消息,人们可以对这些消息做出反应。为实现这一点,我制作了两个模型,消息和评论。消息可以有多个注释,因此它们具有一对多的关系。现在我正在尝试为消息添加新评论,但我没有让它发挥作用。
当我添加一条消息时,它会从我的try catch语句中的catch中返回我的视图。
我已将其跟踪到我试图将值绑定到我的注释模型中的foreignkey messagesId的部分。 我这样做是因为我想将我的评论分配给一条消息。
以下是我的模特
namespace Portfolio.Models
{
public class Messages
{
public int MessagesId { get; set; }
[Required]
public string Title { get; set; }
[Required]
public string Body { get; set; }
public DateTime WhenCreated { get; set; }
public virtual ICollection<Comments> Comments { get; set; }
public Messages()
{
WhenCreated = DateTime.Now;
}
}
}
namespace Portfolio.Models
{
public class Comments
{
public int CommentsId { get; set; }
public string Comments_body { get; set; }
public DateTime WhenCreated { get; set; }
public int ComToMes { get; set; }
public virtual Messages Messages { get; set; }
public Comments()
{
WhenCreated = DateTime.Now;
}
}
}
这是我的控制器
[ValidateInput(false)]
[HttpPost]
public ActionResult CreateComments(FormCollection formValues)
{
try
{
Comments comment = new Comments();
comment.Comments_body = formValues["editor"];
var currentMessage
=_context.messages.Find(Int32.Parse(formValues["IdName"]));
comment.Messages.MessagesId = currentMessage.MessagesId;
_context.comments.Add(comment);
_context.SaveChanges();
}
catch
{
return View();
}
return RedirectToAction("Blog");
}
这是我的观点
@*The form to post comments*@
@using (Html.BeginForm("CreateComments", "Messages"))
{
<div class="form-group">
<label>Comment</label>
@Html.TextArea("editor", htmlAttributes: new { name = "editor1",
id = "editor", rows = "10", cols = "180" }
@Html.Hidden("IdName",messages.MessagesId)
</div>
<button type="submit" class="btn btn-primary" id="PostButton">Post
Comment</button>
}
答案 0 :(得分:0)
在Comments类中,您需要以下属性:
Public int MessagesId {get;组; }