有一些背景知识是我试图按照我所在的子区域加载导航部分文件。简单的我原本以为...
好的,这样可行:
@await Html.PartialAsync("~/Areas/Admin/SubAreas/General/Views/Shared/_Navigation.cshtml")
这不起作用:
@if (ViewContext.RouteData.Values.ContainsKey("subarea"))
{
// ViewContext.RouteData.Values["subarea"].ToString() comes out as "General"
await Html.PartialAsync("~/Areas/Admin/SubAreas/" + ViewContext.RouteData.Values["subarea"].ToString() + "/Views/Shared/_Navigation.cshtml");
}
我已经尝试删除if语句,看看是否与它有关,nope。我尝试过字符串格式化:
await Html.PartialAsync(string.Format("~/Areas/Admin/SubAreas/{0}/Views/Shared/_Navigation.cshtml", ViewContext.RouteData.Values["subarea"].ToString()));
仍然没有香蕉 - 字符串肯定是"〜/ Areas / Admin / SubAreas / General / Views / Shared / _Navigation.cshtml",如果我尝试将其更改为&#39的路径; s无效然后抛出错误,所以它肯定找到了View,但只是拒绝显示它。
我似乎无法在网上找到任何相关信息,但可能会搜索错误信息。有什么想法吗?!
答案 0 :(得分:3)
尝试在等待部分之前放回@
。
上周我遇到类似问题的问题,并且暂时搁浅了一下。
我认为如果没有@
,视图内容将保留代码端,而不会被编组回调用者视图。