当用户尝试上传不正确的工作表格式时,我试图显示错误消息。为此,我正在使用以下代码段,
在控制器中:-
TempData["Error"] = "Cannot contain null values in the Excel sheet";
视图中:-
@if (TempData["Error"] != null)
{
<div>
<div class="alert alert-danger">
<strong>Error! </strong>@TempData["Error"].ToString()
</div>
</div>
}
这在我在localhost中运行时按预期工作,但是当我在IIS服务器上尝试运行时,这不起作用(它没有显示正确的引导错误消息,它显示“处理您的请求时发生错误”),这是不是错误的按摩,而不是得到正确的引导错误按摩,我已经得到了按摩
而且我正在使用引导成功消息,它在localhost和IIS服务器中都可以正常工作,下面是该代码段
@if (TempData["Success"] != null)
{
<div>
<div class="alert alert-success">
<strong>Success! </strong>@TempData["Success"].ToString()
</div>
</div>
}
我无法理解该问题的解决方法
答案 0 :(得分:0)
很高兴地说我找到了自己的问题的原因,正如我在下面提到的那样,我在代码中使用了全局异常处理,
}catch(Exception ex)
{
LogLastError(ex);
Console.WriteLine(ex.Message);
TempData["Error"] = "Cannot contain null values in the Excel sheet";
}
public void LogLastError(Exception ex)
{
System.Web.HttpContext con = System.Web.HttpContext.Current;
StringBuilder sb = new StringBuilder();
sb.AppendLine("Page : " + con.Request.Url.ToString());
sb.AppendLine("Error Message : " + ex.Message);
if (ex.InnerException != null)
{
sb.AppendLine("Inner Message : " + ex.InnerException.ToString());
}
string fileName = System.IO.Path.Combine(Server.MapPath("~/Errors"),
DateTime.Now.ToString("ddMMyyyyhhmmss") + ".txt");
System.IO.File.WriteAllText(fileName, sb.ToString());
}
因此,无论何时处理异常,都会从我的Error.cshtml中显示异常消息