我有一个.NET Core ASP.NET Web应用程序,其控制器包含以下代码:
public async Task<IActionResult> Index(ConfigurationViewModel viewModel)
{
if (ModelState.IsValid)
{
// Update
var configurationClient = new ConfigurationClient();
HttpResponseMessage response = await configurationClient.SetConfigurationValuesAsync(...);
if (!response.IsSuccessStatusCode)
{
// How to report back to user?
}
}
return View(viewModel);
}
上面的代码调用Web API并可能返回错误。
如何在代码中处理这些错误?
答案 0 :(得分:1)
您可以通过模型状态字典
发送一些错误消息if (ModelState.IsValid)
{
// your other code goes here
if (!response.IsSuccessStatusCode)
{
// to do : Log errors for you :)
ModelState.AddModelError(string.Empty,"Some error message");
}
}
return View(viewModel);
假设您在视图中使用验证标记帮助程序将验证错误消息呈现给用户
<form asp-action="Index" method="post">
<div asp-validation-summary="All"></div>
<!-- your input elements here -->
<input type="submit"/>
</form>
答案 1 :(得分:0)
您好,您可以使用如下
public async Task<IActionResult> Index(ConfigurationViewModel viewModel)
{
if (ModelState.IsValid)
{
// Update
var configurationClient = new ConfigurationClient();
HttpResponseMessage response = await configurationClient.SetConfigurationValuesAsync(...);
if (!response.IsSuccessStatusCode)
{
// How to report back to user?
return View(viewModel);
}
}
return View(viewModel);
}
简要介绍返回视图(viewModel):
执行该对象时,ASP.NET MVC框架会将此方法准备的结果对象写入响应。