MVC控制器视图绑定

时间:2013-02-25 14:18:03

标签: c# razor asp.net-mvc-4

对MVC来说是新手,我正在尝试以下方案,但我很想知道如何继续。

在我的网页中,我有几个部分,每个部分都有下面的评论。并且为了获取注释,我在控制器中编写了一个函数,如下所示

public ActionResult ShowPreviousComments()
        {
            Comments com = new Comments();

            LstComments savedComments = new LstComments();

            ///Entity code here


            foreach (var item in comments)
            {
                com.comments = item.Comments;
                com.dTime = item.Time;

                savedComments.lstCommet.Add(com);

            }

            return View();
        }

以及下面的模型数据,以便我可以在视图中获取列表

public class Comments
    {
        public string comments { get; set; }

        public DateTime? dTime { get; set; }

        public int airPortId { get; set; }

    }

    public class  LstComments
    {
        public List<Comments> lstCommet { get; set; }
    }

我的疑问是我在每个部分的页面加载期间如何击中控制器?

对不起,如果听起来很傻或有些错误。如果我能以更好的方式做到,请发帖

由于

2 个答案:

答案 0 :(得分:4)

控制器

public ActionResult ShowPreviousComments()
{
    Comments com = new Comments();
    LstComments savedComments = new LstComments();

    ///Entity code here


    foreach (var item in comments)
    {
        com.comments = item.Comments;
        com.dTime = item.Time;

        savedComments.lstCommet.Add(com);
    }

    return PartialView(savedComments);
}

查看

@Html.Action("ShowPreviousComments", "SomeController") 

从我的角度来看

控制器

public ActionResult ShowPreviousComments()
{
    // Entity code here
    // var comments = entity.comments;

    return PartialView(comments);
}

Index.cshtml (包含自己内容和评论的主视图)

// some main view content

// main view comments...
@Html.Action("ShowPreviousComments", "SomeController")

ShowPreviousComments.chtml (包含先前评论的部分视图)

@model IEnumerable<comments>

<div class="comments_container>
    foreach(var item in Model)
    {
        <div class="comment_body">@item.Comments</div>
        <div class="comment_time">@item.Time</div>
    }
</div>

答案 1 :(得分:0)

也许U可以尝试脚本在加载视图部分时调用控制器