C# 调用@Html.Partial以显示属于其他控制器的局部视图
我正在开发一个ASP.NET MVC 3应用程序,它的内容页有一个常见的布局元素模式。但是,由于登录页面不遵循此布局,我无法将此布局放置在C# 调用@Html.Partial以显示属于其他控制器的局部视图,c#,asp.net,asp.net-mvc,razor,C#,Asp.net,Asp.net Mvc,Razor,我正在开发一个ASP.NET MVC 3应用程序,它的内容页有一个常见的布局元素模式。但是,由于登录页面不遵循此布局,我无法将此布局放置在\Views\Shared\\u layout.cshtml中 因此,我想添加另一个共享布局,例如,\Views\shared\\u Content.cshtml,并从内容视图调用它。。。但不幸的是,这些视图属于不同的控制器 是否有任何方法可以为属于不同控制器的视图调用@Html.Partial @Html.Partial("../Controller/Vie
\Views\Shared\\u layout.cshtml
中
因此,我想添加另一个共享布局,例如,\Views\shared\\u Content.cshtml
,并从内容视图调用它。。。但不幸的是,这些视图属于不同的控制器
是否有任何方法可以为属于不同控制器的视图调用@Html.Partial
@Html.Partial("../Controller/View", model)
或
我们应该做到这一点
如果要通过(其他)控制器,可以使用:
@Html.Action("action", "controller", parameters)
或者像GvS所说的任何其他重载,但我也发现使用它很有用,这样我就可以编写类似
@Html.Partial(MVC.Student.Index(), model)
没有神奇的字符串。为什么@Html.Partial(“~Views/Controller/View”,model)需要.cshtml扩展名?否则,它会说view not found.Resharper 6.1将
@Html.Partial(../Controller/view,model)
标记为错误,而不是@Html.Partial(~/Views/Controller/view.cshtml,model)
。两者在运行时都可以正常工作。@GVs如果windows使用\作为目录,那么为什么使用/。任何reason@F1betaIndia,我使用azerty键盘,来获取/I按下SHIFT-:,对于\I必须按下AltGr,使用Html。Action(…)
非常巧妙,通过将ChildActionOnlyAttribute
应用于该动作,可以准确获取我所需的内容。使用Resharper,它们不再像魔术字符串了:)因为重命名功能?有人能有勇气否决我愚蠢的问题吗?我自己做不到。你应该可以投票结束你自己的问题@我一点也不觉得它愚蠢。这是第一个基于我的谷歌搜索查询出现的搜索结果。这并不愚蠢,只是一个复制品。
@Html.Partial(MVC.Student.Index(), model)