C# 在ASP.NET Core MVC中的iframe中显示局部视图

C# 在ASP.NET Core MVC中的iframe中显示局部视图,c#,asp.net-core,iframe,partial-views,visual-studio-2019,C#,Asp.net Core,Iframe,Partial Views,Visual Studio 2019,我已经尝试在ASP.NET Core MVC 2.2的IFrame中呈现razor页面一段时间了 我有我的主页和一些菜单,可以打开IFrame中的特定页面 打开我的主屏幕的操作如下 [HttpGet] 公共IActionResult IndexAdm() { 尝试 { 返回视图(); } 捕获(例外情况除外) { 抛出新异常(例如消息); } } 下面是在我的屏幕上加载部分视图的代码 public PartialViewResult IframeAction(字符串排序) { if(sortB

我已经尝试在ASP.NET Core MVC 2.2的IFrame中呈现razor页面一段时间了

我有我的主页和一些菜单,可以打开IFrame中的特定页面

打开我的主屏幕的操作如下

[HttpGet]
公共IActionResult IndexAdm()
{
尝试
{
返回视图();
}
捕获(例外情况除外)
{
抛出新异常(例如消息);
}
}
下面是在我的屏幕上加载部分视图的代码

public PartialViewResult IframeAction(字符串排序)
{
if(sortBy==null)
返回PartialView(“../Company/ViewPartial”);
其他的
{
返回部分视图(sortBy);
}
}
第一次加载页面时,一切正常。主页被加载,另一个页面被加载到我的iframe中,如下图所示

我想得到的是上面发生的事情,但当我单击我的菜单按钮时,主页消失,浏览器中只加载了我的部分页面,如下图所示

我的菜单项代码低

  • 我的IFrame代码如下

    
    

    如何使我的部分页面在iframe中呈现而不使主页消失?

    操作链接将创建一个

    如果必须更新iframe,则需要使用javascript更新iframe的src。由于您使用的是.NETCore2.2,jquery已经被导入。您可以使用以下jquery

    function navigate(path) {
        $("#IframeAdm").attr('src', path);
    }
    
    现在,在菜单项中,您可以执行以下操作:

    <li>
        <a class="nav-link" href="#" onclick="navigate(@Url.Content("your/path/here"))">
            <i class="fas fa-question"></i>
        </a>
    </li>
    

  • 这个
    @Html.ActionLink将创建一个

    如果必须更新iframe,则需要使用javascript更新iframe的src。由于您使用的是.NETCore2.2,jquery已经被导入。您可以使用以下jquery

    function navigate(path) {
        $("#IframeAdm").attr('src', path);
    }
    
    现在,在菜单项中,您可以执行以下操作:

    <li>
        <a class="nav-link" href="#" onclick="navigate(@Url.Content("your/path/here"))">
            <i class="fas fa-question"></i>
        </a>
    </li>
    
  • 旁注:您的
    @Html.ActionLink
    创建了两个标记。查找.net核心标记帮助程序以了解执行此操作的现代方法旁注:使用
    @Html.ActionLink
    创建两个标记。查找.net核心标记帮助程序,了解执行此操作的现代方法