史蒂夫桑德森的“部分要求”

时间:2008-12-23 03:56:51

标签: asp.net-mvc

我已经关注了史蒂夫桑德森在blog.codeville.net/2008/10/14/partial-requests-in-aspnet-mvc撰写的博客文章。在完全遵循它的情况下一切正常但我希望有人可能已经看过它并且能够协助我稍微调整它。

我基本上有这个“部分请求”从一个控制器调用到另一个控制器,这很好。然后,我想通过数据预先创建一个下拉列表。问题是我需要将它转换为IEnumerable来执行此操作,但它无法告诉我我无法将void转换为IEnumerable。

lkine失败,在视图中是:

foreach (var category in (IEnumerable<MyObject>) ((PartialRequest)ViewData["ReturnedData"]).Invoke(ViewContext))

显然,如果不看代码,知道如何回答这个问题很难。这一切都在前面提到的帖子中,但由于它相当冗长,我不想在这里发布。我知道这使得回答这个问题变得困难,我希望有人准备好这个帖子并且可以提供帮助。

提前致谢。

1 个答案:

答案 0 :(得分:3)

PartialRequest Invoke方法不返回任何内容,它将请求生成的HTML写入响应。我们的想法是,您可以调用呈现MVC View User Control而非View的控制器操作。您可以对此控制器操作发出部分请求,并将控件直接呈现到响应流中,而不是使用Html.RenderPartial。由于控件直接写入响应,因此您没有机会与其输出进行交互。