有没有办法使用完整路径

时间:2017-02-16 15:54:30

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我目前正在创建一个MVC ASP.NET应用程序,其中从不同位置加载多个小部件。我有大部分的逻辑,但我试图从不同的位置加载小部件而不是原来的。

当我使用此

时,一切正常
foreach (WidgetPrototype.Models.Widget widget in Model)
    {
        <blockquote style="border-style: outset">
            @Html.Partial(widget.Name)
        </blockquote>
    }

但是当我移动文件以测试从其他位置加载视图时,将我的代码更改为

foreach (WidgetPrototype.Models.Widget widget in Model)
    {
        <blockquote style="border-style: outset">
            @Html.Partial(@"D:\" + widget.Name + ".cshtml")
        </blockquote>
    }

它停止工作,并发出错误信息,找不到视图,并显示消息:

  

[InvalidOperationException:部分视图'D:\ Clock.cshtml'不是   找到或没有视图引擎支持搜索的位置。下列   搜索地点:   〜/查看/窗口小部件/ d:\ Clock.cshtml.aspx   〜/查看/窗口小部件/ d:\ Clock.cshtml.ascx   〜/查看/共享/ d:\ Clock.cshtml.aspx   〜/查看/共享/ d:\ Clock.cshtml.ascx   〜/查看/窗口小部件/ d:\ Clock.cshtml.cshtml   〜/查看/窗口小部件/ d:\ Clock.cshtml.vbhtml   〜/查看/共享/ d:\ Clock.cshtml.cshtml   〜/查看/共享/ d:\ Clock.cshtml.vbhtml]

显然,它仍然试图在项目的相对路径上找到文件。

有没有办法强制它只使用完整路径?

1 个答案:

答案 0 :(得分:1)

您是否尝试过指定相对路径? 例如。  @Html.Partial("../MyViews/_PartialView", Model)

还建议使用@Html.RenderPartial,因为它可以更快地运行。

相关问题