调用@Html.Partial来显示属于不同控制器的分部视图

发布于 2024-11-08 14:47:46 字数 283 浏览 0 评论 0原文

我正在开发一个 ASP.NET MVC 3 应用程序,其内容页面具有常见的布局元素模式。但是,由于登录页面不遵循此布局,因此我无法将此布局放置在 \Views\Shared\_Layout.cshtml 中。

所以我想添加另一个共享布局,例如 \Views\Shared\_Content.cshtml,并从内容视图中调用它......但不幸的是这些视图属于不同的控制器。

有没有办法为属于不同控制器的视图调用 @Html.Partial

I am developing an ASP.NET MVC 3 application, whose content pages have a common pattern of layout elements. However, because the login page does not follow this layout, I cannot place this layout in \Views\Shared\_Layout.cshtml.

So I would like to add another shared layout, say, \Views\Shared\_Content.cshtml, and call it from the content views... but unfortunately those views belong to different controllers.

Is there any way to invoke @Html.Partial for a view belonging to a different controller?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

々眼睛长脚气 2024-11-15 14:47:46

那没问题。

@Html.Partial("../Controller/View", model)

或者

@Html.Partial("~/Views/Controller/View.cshtml", model)

应该可以解决问题。

如果你想通过(其他)控制器,你可以使用:

@Html.Action("action", "controller", parameters)

或任何其他重载

That's no problem.

@Html.Partial("../Controller/View", model)

or

@Html.Partial("~/Views/Controller/View.cshtml", model)

Should do the trick.

If you want to pass through the (other) controller, you can use:

@Html.Action("action", "controller", parameters)

or any of the other overloads

疯了 2024-11-15 14:47:46

正如 GvS 所说,但我也发现使用强类型视图很有用,这样我就可以写一些类似

@Html.Partial(MVC.Student.Index(), model)

没有魔法字符串的东西。

As GvS said, but I also find it useful to use strongly typed views so that I can write something like

@Html.Partial(MVC.Student.Index(), model)

without magic strings.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文