【问题标题】:How to remove\clear model state error when controller return FileStreamResult?控制器返回 FileStreamResult 时如何删除\清除模型状态错误?
【发布时间】:2018-12-21 09:29:18
【问题描述】:

当系统流向else范围时,如何删除我在if范围中添加的错误消息?

if (_data.emVendorOrdersFromSuppliers.Count <= 0)
{
    ModelState.AddModelError("", "There are no data to download for the selected year and month!");
    return View(viewModelDownloadEMVendorData);
}
else
{
    HSSFWorkbook workbook = GenerateEmVendorOrdersWorkBook(_data);
    MemoryStream memoryStream = new MemoryStream();
    workbook.Write(memoryStream);
    string saveAsFileName = "EmVendor.xls";
    byte[] bytes = memoryStream.ToArray();
    memoryStream.Seek(0, SeekOrigin.Begin);
    return File(memoryStream, "application/vnd.ms-excel", saveAsFileName);
}

我试过了:

ModelState[""].Errors.Clear();

ModelState["assignedKey"].Errors.Clear();

提示错误“对象引用未设置到实例...”。

用户成功获取文件后,查看页面仍然显示if错误消息,这就是我要删除错误消息的原因。

【问题讨论】:

    标签: c# asp.net-mvc error-handling modelstate


    【解决方案1】:

    您可以使用

    删除模型错误
    ModelState.Clear();
    

    【讨论】:

    • @Pop “如果您从控制器页面返回的文件未更新,则在用户成功获取文件后,查看页面仍然显示错误消息”。因此,如果您在客户端视图上呈现错误,您应该手动更改页面,重新加载或类似的东西(js)。
    猜你喜欢
    • 2013-07-22
    • 2011-02-17
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 2019-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多