Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 调用@Html.Partial以显示属于其他控制器的局部视图_C#_Asp.net_Asp.net Mvc_Razor - Fatal编程技术网

C# 调用@Html.Partial以显示属于其他控制器的局部视图

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

我正在开发一个ASP.NET MVC 3应用程序,它的内容页有一个常见的布局元素模式。但是,由于登录页面不遵循此布局,我无法将此布局放置在
\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)