有人知道,如果ascx文件中的部分视图(PartialViewResult
) - 知道它是否独立运行 - 直接从浏览器调用或作为页面的一部分调用。
我想以不同的方式处理这些案件。
修改:
案例1:在页面的情况下,可能是页面有一些部分在构建页面时使用ajax加载。可以根据用户操作使用ajax再次调用partials。在这种情况下,我将它们视为页面上的控件。
案例2:在独立案例中,可以直接从浏览器调用partial作为测试的一部分。在这种情况下,您只能在浏览器中看到部分内容。
案例3:在第三种情况下,部分可以作为Google Chrome扩展程序中iframe的一部分进行调用(例如)。在这种情况下,您可以在页面中看到可能尚未在Web应用程序中构建的部分。
希望这是有道理的。
感谢那些关心的人 - 新年快乐。
答案 0 :(得分:3)
您可以区分正常请求和ajax请求(Request.IsAjaxRequest()
)和子动作(ControllerContext.IsChildAction
- 使用Html.Action
呈现)。
作为替代方案,返回局部视图的控制器操作可以设置一些模型属性,指示部分是通过此操作呈现的,而不是直接包含在具有Html.RenderPartial
的视图中。