2017-06-28 36 views
-1

我正在寫博客。有了這個博客,我可以發送消息,人們可以對這些消息作出反應。爲了達到這個目的,我製作了兩個模型,消息和評論。由此,消息可以具有多個評論,因此它們具有一對多的關係。現在我正在嘗試爲消息添加新的評論,但我沒有得到它的工作。向數據庫添加新的相關對象

當我添加一條消息時,它從我的try 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

您的「評論」模型需要「消息」的導航屬性 - 例如, 'public int MessageId {get;組; }'。但你真的需要去MVC網站並通過教程來學習基礎知識。 –

+0

我可以給你的一個非常好的提示是爲你的實體名稱使用單數。 '消息'和'評論'。它確實有助於可讀性(特別是一目瞭然)。 – Flater

+0

thnx即時即將改變,馬上@Flater – ruinerwarrior

回答

0

在您需要此屬性的評論類:

public int MessagesId {get;組; }