C# 异步进程中的同步进程

C# 异步进程中的同步进程,c#,asp.net-mvc-3,asp.net-mvc-4,c#-4.0,async-await,C#,Asp.net Mvc 3,Asp.net Mvc 4,C# 4.0,Async Await,我正在使用ASP.NET MVC Razor 在我的解决方案中,我使用的控制器只有一个动作方法。布局有左导航、顶部和底部。这三个部分的Html部分放在部分视图中,我在布局中调用部分视图,如下所示 <!DOCTYPE html> <html> <head> @{Html.RenderPartial("HeaderScripts");} </head> <body class="nav-md"> @{Html.Render

我正在使用ASP.NET MVC Razor

在我的解决方案中,我使用的控制器只有一个动作方法。布局有左导航、顶部和底部。这三个部分的Html部分放在部分视图中,我在布局中调用部分视图,如下所示

<!DOCTYPE html>
<html>
<head>
    @{Html.RenderPartial("HeaderScripts");}
</head>
<body class="nav-md">

    @{Html.RenderPartial("LeftSideNavigations");}
    @{Html.RenderPartial("TopView");}

    <div class="right_col" role="main">
        @RenderBody()
    </div>

    @{Html.RenderPartial("FooterScripts");}
</body>
</html>
[AttributeRouting.Web.Mvc.Route("All-Categories")]
public async Task<ActionResult> Categories()
{
    var list = await _category.CategoryList(null);
    return View(list.Value);
}
因为我必须在action方法中编写一些登录。我知道我们不能在VS2013中称之为:
Html.RenderAction(“ActionName”)
,因为框架永远不会允许这样做

问题:除了使用 DOM上的JQuery准备好了吗


从客户端的角度来看,
Controller
中的异步操作等同于非异步操作

使用async标记操作只允许在请求DB时将线程释放回线程池

如果您想异步填充您的部件,那么您将需要使用AJAX。 有一些有趣的方法,如果你感兴趣的话,比如

@{
    Html.RenderAction("ActionName");
}