文档准备好后加载部分视图

时间:2011-07-25 10:45:17

标签: jquery ajax asp.net-mvc model-view-controller partial-views

我正在尝试使用我的数据库中的项目自动填充我的无序列表()中的一个,就像页面加载完毕一样。我需要知道的是如何获得这些物品。我认为Controller和PartialView没有任何问题。我只需要如何从索引页面调用它。

以下代码来自索引页面:

<div class="contentRight">
            <span class="contentRightHeader">Most Followed Questions ·</span><span class="contentRightViewAll"> View all</span>
            <ul>
                <!--<li>Why do we drink and whats the effects on the body</li>
                <li>Why do we drink and whats the effects on the body</li>-->
            </ul>
        </div>

此代码来自控制器:

public PartialViewResult _ListMostFollowedQuestions()
    {
        QuestionManager qman = new QuestionManager();
        ViewBag.Questions = qman.ListMostFollowedQuestions(3);
        return PartialView("_ListMostFollowedQuestions");
    }

最后来自我的partialView:

@foreach (var item in ViewBag.Questions)
{
@item.Topic Deadline:
    @item.Deadline      
}

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

你可以先用两种方式在你的局部视图中构建html并在ul中调用它,如

@foreach (var item in ViewBag.Questions)
{
"<li>"+@item.Topic Deadline:@item.Deadline+"</li>"
}

并在

<div class="contentRight">
            <span class="contentRightHeader">Most Followed Questions ·</span><span class="contentRightViewAll"> View all</span>
            <ul>
               @Html.RenderPartial("_ListMostFollowedQuestions")
            </ul>
        </div>

第二种方式是索引页面中的ajax方式

$(function(){

$.ajax({
type:'POST',
url:'/path/to/partial',
dataType:'html',
success:function(data){
$("span.contentRightHeader ul").append(data);
}

});

});