2014-09-23 35 views
2

我有一個類名稱註釋如下顯示列表,並提交形式相同的觀點在MVC

public class Comment 
    { 
     public int Id { get; set; } 
     public string Name { get; set; } 
     public string Coment { get; set; } 
    } 

我想要做的,我想表明的意見列表和表單上添加評論同樣的觀點(指數),這是我做了什麼,到目前爲止,但我無法得到hint,這是我的索引視圖

@model IEnumerable<GuestbookEntryApp.Models.Comment> 
<h2>Index</h2> 
<div id="CommentList"> 
    <table> 
     <tr> 
      <th>Name</th> 
      <th>Comments</th> 
     </tr> 
     @foreach (var obj in Model) 
     { 
      <tr> 
       <td>@obj.Name</td> 
       <td>@obj.Coment</td> 
      </tr> 
     } 

    </table> 
</div> 
<br /> 
<div id="commentBox"> 
@Html.Partial("~/Views/Comments/_AddComment.cshtml", new ViewDataDictionary { Model = new GuestbookEntryApp.Models.Comment() }) 
</div> 

但在這裏我無法得到暗示@Html.LabelFor(x => x.Name) 這是我的控制器

public class CommentsController : Controller 
{ 
    GuestbookContext db = new GuestbookContext(); // my DbContxt Class 
    public ActionResult Index() 
    { 
     IList<Comment> _comment = db.Comments.ToList(); 
     return View(_comment); 
    } 
    public PartialViewResult AddComment() 
    { 
     return PartialView("_AddComment"); 
    } 
    public PartialViewResult AddComment(Comment _comment) 
    { 
     db.Comments.Add(_comment); 
     db.SaveChanges(); 
     return RedirectToAction("Index"); 
    } 
} 

有沒有其他方法可以做到這一點。 我想這樣 enter image description here

+0

在.NET中,人們在哪裏選擇錯誤的命名約定和habbits? – Phill 2014-09-23 07:29:03

+0

我指的是你用下劃線命名參數,並命名你的屬性'Coment',因爲你的類名是Comment,而不是將其稱爲Text或Body。 溝渠您的添加評論操作,它不做任何事情,因爲您的渲染部分,而不是渲染操作。 – Phill 2014-09-23 07:46:46

回答

2

創建性能視圖模型爲現有的意見和新的評論

public class CommentVM 
{ 
    public IEnumerable<Comment> ExistingComments { get; set; } 
    public Comment NewComment { get; set; } 
} 

查看

@model YourAssembly.CommentVM 
.... 
@foreach (var obj in Model.ExistingComments) 
{ 
    ... 
} 

@using (Ajax.BeginForm("AddComment", .....})) 
{ 
    @Html.LabelFor(x => x.NewComment.Name) 
    .... 

和調整控制器添加Bind.Prefix財產

public ActionResult AddComment([Bind(Prefix="NewComment")]Comment _comment) 
{ 
    .... 
相關問題