代码之家  ›  专栏  ›  技术社区  ›  S. Walker

@html.partial,不同的控制器,发布后不工作

  •  -1
  • S. Walker  · 技术社区  · 7 年前

    我有两个控制器:

    • 人员控制器
    • 单元控制器

    我有一些看法,

    • /人员/创建(局部视图)
    • /单位/编辑

    在/unit/edit中有一个模式对话框,其中包含以下HTML:

    <div id="Person-CreateNew" class="tab-pane fade in active">
       @Html.Partial("../People/_Create", new Person())
    </div>
    

    当我从Visual Studio运行时,这很好,但如果我发布,则使用 dotnet myproject.dll ,i get“找不到视图”create…searched/units/“create,/shared/units/“create….”

    发布后如何使此工作正常?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Camilo Terevinto Chase R Lewis    7 年前

    不要使用相对路径,应始终使用完整路径:

    <div id="Person-CreateNew" class="tab-pane fade in active">
       @Html.Partial("~/Views/People/_Create", new Person())
    </div>
    

    这将在视图编译过程之后继续工作。

    但是,请注意使用的异步版本 Partial 建议:

    <div id="Person-CreateNew" class="tab-pane fade in active">
       @await Html.PartialAsync("~/Views/People/_Create", new Person())
    </div>