asp.net mvc 部分他们知道是独立运行还是作为页面的一部分运行
有谁知道,ascx 文件中的部分视图 (PartialViewResult
) - 知道它是否独立运行 - 直接从浏览器调用或作为页面的一部分调用。
我想以不同的方式对待这些案例。
编辑:
情况 1: 在页面情况中,页面可能有一些在构建页面时使用 ajax 加载的部分。根据用户操作,可能会使用 ajax 再次调用部分代码。在本例中,我将它们视为页面上的控件。
情况 2:在独立情况下,可以直接从浏览器调用部分作为测试的一部分。在这种情况下,您只能在浏览器中看到部分内容。
情况 3:在第三种情况下,部分可以作为 google chrome 扩展中的 iframe 的一部分进行调用(例如)。在这种情况下,您可以在页面中看到可能尚未在您的 Web 应用程序中构建的部分。
希望这是有道理的。
提前感谢相关人士 - 新年快乐。
Does anyone know, if a partial view (PartialViewResult
) in an ascx file - knows if it is running stand alone - called directly from the browser or as part of a page.
I would like to treat these cases differently.
Edit:
Case 1: In the page case it could be that a page has a few partials that are loaded using ajax while the page is being built. The partials might be called again using ajax according to the users actions. In this case I consider them as controls on a page.
Case 2:In the stand alone case the partial could be called as part of a test directly from the browser. In this case you only see the partial part in the browser.
Case 3:In the third case the partial could be called as part of an iframe within a google chrome extension (for example). In this case you can see the partial in a page that might not have been built in your web application.
Hope this makes sense.
Thanks in advance of for those whom it concerns - happy new year.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以区分普通请求和 ajax 请求 (
Request.IsAjaxRequest()
) 以及子操作 (ControllerContext.IsChildAction
- 使用Html.Action
呈现) )。作为替代方案,返回部分视图的控制器操作可以设置一些模型属性,指示部分是通过此操作呈现的,而不是直接包含在使用
Html.RenderPartial
的视图中。You could distinguish between normal requests and ajax requests (
Request.IsAjaxRequest()
) and child actions (ControllerContext.IsChildAction
- rendered withHtml.Action
).As an alternative the controller action returning the partial view could set some model property indicating that the partial was rendered via this action instead of being directly included in a view with
Html.RenderPartial
for example.