c# - Asp.Net View Rendering 意外输出
问题描述
为什么这段代码可以完美运行,按预期输出 HTML 并且...
<div class="page home-page custom-container d-flex flex-column">
@await Component.InvokeAsync("PersonalizedProducts")
@await Component.InvokeAsync("RecommendedProducts")
@await Component.InvokeAsync("SuggestedProducts")
@await Component.InvokeAsync("HomePageProducts")
@await Component.InvokeAsync("HomePageNewProducts")
@await Component.InvokeAsync("CategoryFeaturedProducts")
</div>
...这个不起作用:
<div class="page home-page custom-container d-flex flex-column">
@{
var tasks = new List<Task>();
tasks.Add(Component.InvokeAsync("PersonalizedProducts"));
tasks.Add(Component.InvokeAsync("RecommendedProducts"));
tasks.Add(Component.InvokeAsync("SuggestedProducts"));
tasks.Add(Component.InvokeAsync("HomePageProducts"));
tasks.Add(Component.InvokeAsync("HomePageNewProducts"));
tasks.Add(Component.InvokeAsync("CategoryFeaturedProducts"));
await Task.WhenAll(tasks);
}
</div>
上面提到的组件之间是 100% 独立的,除了数据库之外不共享任何东西,它们不会改变数据库,因为这些是仅获取组件......
解决方案
如果您期望 html 输出,那么您将需要添加更多代码来输出 html:
<div class="page home-page custom-container d-flex flex-column">
@{
var tasks = new List<Task>();
tasks.Add(Component.InvokeAsync("PersonalizedProducts"));
tasks.Add(Component.InvokeAsync("RecommendedProducts"));
tasks.Add(Component.InvokeAsync("SuggestedProducts"));
tasks.Add(Component.InvokeAsync("HomePageProducts"));
tasks.Add(Component.InvokeAsync("HomePageNewProducts"));
tasks.Add(Component.InvokeAsync("CategoryFeaturedProducts"));
await Task.WhenAll(tasks);
foreach( var t in tasks)
{
var var1 = await t;
@var1;
}
}
</div>
推荐阅读
- php - 调试栏加倍查询?
- r - 如何使用双循环为r中的行和列生成新列
- c# - 在目标中使用 .Select() 时,Automapper 无法在反向映射中工作
- vue.js - 从 Nuxt 中的另一个组件更新组件内容的最佳解决方案
- javascript - React JS 中的注销功能问题
- java - 构建操作后 Gradle 不导入添加的依赖项
- google-visualization - 谷歌图表“选择”事件多次触发
- javascript - 将一维数组转换为多维数组
- reactjs - 反应表单在开发服务器上不起作用
- kotlin - Kotlin SharedFlow 组合操作。在特定情况下具有 zip 行为