ViewBag在PartialView中返回空,但在调试器中显示该值

时间:2015-11-18 18:48:49

标签: asp.net-mvc-5 asp.net-mvc-partialview viewbag

我正在尝试将控制器中的值返回到PartiaViewViewBag,但它根本不会显示该值。

这是我的控制器:

public PartialViewResult Index(int articleid)
{
    var allcomments = _db.SelectAll();
    var comments = from c in allcomments
        where c.ArticleID == articleid
        select c;

    var result = comments.ToList();

    ViewBag.CommentCount = result.Count;

    return PartialView(result);
}

我使用Html.RenderPartial()在另一个视图中运行action方法:

@using ClearBlog.Helpers
@model ClearBlog.Models.ViewModels.SingleArticleViewModel

@{
    ViewBag.Title = "Details";
}

// stuff here

@{ Html.RenderAction("Index", "Comments", new { articleid = 6002 }); }

最后这里是局部视图:

@using AutoMapper.Internal
@model IEnumerable<ClearBlog.Models.Comment>

@ViewBag.CommentCount Comment(s):

@foreach (var item in Model)
{
    // some stuff
}

在局部视图中,它只呈现,但如果我在局部视图中设置断点,则在本地选项卡的调试器中显示正确的值:

enter image description here

1 个答案:

答案 0 :(得分:0)

部分视图文件@ViewBag.CommentCount.ToString()的第4行应为ViewBag。在将值赋给eglMakeCurrent(); // generate na FB glGenFramebuffers(1, &fb); glBindFramebuffer(GL_FRAMEBUFFER, fb); glGenTextures(1, &texture); glBindTexture(GL_TEXTURE_2D, mContextParams->mTexture); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, Texture, 0); 之前,也可以在控制器中进行转换,这样我们就不必在视图中进行转换。