asp.net mvc partials他们知道这些是独立运行还是作为页面的一部分运行

时间:2010-12-30 12:52:07

标签: asp.net-mvc asp.net-mvc-2

有人知道,如果ascx文件中的部分视图(PartialViewResult) - 知道它是否独立运行 - 直接从浏览器调用或作为页面的一部分调用。

我想以不同的方式处理这些案件。

修改:
案例1:
在页面的情况下,可能是页面有一些部分在构建页面时使用ajax加载。可以根据用户操作使用ajax再次调用partials。在这种情况下,我将它们视为页面上的控件。

案例2:在独立案例中,可以直接从浏览器调用partial作为测试的一部分。在这种情况下,您只能在浏览器中看到部分内容。

案例3:在第三种情况下,部分可以作为Google Chrome扩展程序中iframe的一部分进行调用(例如)。在这种情况下,您可以在页面中看到可能尚未在Web应用程序中构建的部分。

希望这是有道理的。

感谢那些关心的人 - 新年快乐。

1 个答案:

答案 0 :(得分:3)

您可以区分正常请求和ajax请求(Request.IsAjaxRequest())和子动作(ControllerContext.IsChildAction - 使用Html.Action呈现)。

作为替代方案,返回局部视图的控制器操作可以设置一些模型属性,指示部分是通过此操作呈现的,而不是直接包含在具有Html.RenderPartial的视图中。