【发布时间】:2017-04-13 00:34:15
【问题描述】:
我正在尝试从我在 Asp.Net Core 中的视图组件返回 HTTP 500 或 BadRequest() 结果,但是此返回类型似乎不适用于视图组件。状态码返回类型应该可用于视图组件还是我的设计有误?
我正在通过 ajax 调用我的控制器操作,如下所示...
<a asp-controller="Client" asp-action="LoadVisit" asp-route-id="@item.VisitID" data-ajax="true" data-ajax-method="GET" data-ajax-update="#ClientVisit" data-ajax-mode="replace" data-ajax-failure="AjaxOnFailure(xhr, status, error)" role="button"><i class="fa fa-folder-open-o"></i></a>
我的控制器操作正在调用/返回我的视图组件,如下所示...
public IActionResult LoadVisit(int? id)
{
if (id == null || id == 0)
{
return NotFound();
}
return ViewComponent("ClientVisit", new { visitID = id.GetValueOrDefault() });
}
我的 ClientVisit 视图组件有以下...
public async Task<IViewComponentResult> InvokeAsync(int? clientID, int? visitID)
{
try
{
var model = new VisitViewModel();
model = await visitAPI.GetVisit(clientID, visitID);
return View(model);
}
catch (Exception ex)
{
return Content(ex.Message);
}
}
当我的数据库调用 model = await visitAPI.GetVisit(clientID, visitID) 失败时,我想返回 return StatusCode(500, ex.ToString()) 但它不可用,所以我的 ajax 调用认为我的请求成功,这是错误的。
【问题讨论】:
标签: c# asp.net-core asp.net-core-viewcomponent