我使用的是ASP.NET 5 RC1
_MyPartial
@model MyViewModel
<div class="panel panel-primary">
<div class="panel-body">
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
@Html.ValidationSummary(true)
@Html.MyHtmlHelperRow(model => model.ShortDistrictName)
@Html.MyHtmlHelperRowSaveButton(model => model.Id)
</div>
}
</div>
</div>
<div>
@Html.ActionLink("Back to List", "Index")
</div>cshtml视图
@model MyViewModel
@{
ViewBag.Title = "Edit";
}
<h2>@ViewBag.Title</h2>
@Html.RenderPartialAsync("_MyPartial", Model)
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}这条线
@Html.RenderPartialAsync("_MyPartial", Model)除了在html中呈现外,还呈现
System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]html中的文本直接位于部分页面呈现的最后一项内容之下。
如果我将部分行引用更改为非异步
@Html.Partial("_MyPartial", Model)那我就听不懂这条短信了。
问题:
发布于 2015-11-24 13:49:50
您需要使用await来调用异步方法。ASP.NET 5增加了在Razor中使用await的能力:
@{await Html.RenderPartialAsync("_MyPartial", Model);}发布于 2016-03-10 16:47:52
使用可接受的答案中的语法给了我这个错误:
参数1:无法从“空”转换为“对象” @await Html.RenderPartialAsync("_ProductList",Model)
在RC1中,我不得不使用大括号和分号:
@{await Html.RenderPartialAsync("_ProductList", Model);}RenderPartialAsync直接写入响应并返回void (技术上是任务),视图编译器不能将其打印为字符串。
https://stackoverflow.com/questions/33892952
复制相似问题