C#控制台不会显示异常消息

时间:2018-09-24 14:39:48

标签: asp.net asp.net-mvc exception razor console

我有一个ASP.NET项目,在其中一部分中,我调用业务规则来测试表单:

[HttpPost]
    public ActionResult InsertProduct(Product Product)
    {
        try
        {
            InsertProductBLL ProductInsertion = new InsertProductBLL (Product.Value, Product.Description);
            ProductInsertion.IsValid();
            return PartialView("Success");
        }
        catch (Exception e)
        {
            Console.Write(e.Message);
            return PartialView("Fail");
        }
    }

在BLL上,我有这个:

public void IsValid()
{
    if (Value> 10) ; //I just want the else section
    else
    {
            Exception e = new Exception("Insert a bigger value");
            throw e;
    }
}

但是,控制台仅显示已引发异常,而不显示我要求的消息。有语法错误还是我刚刚搞砸了?

1 个答案:

答案 0 :(得分:0)

您可以这样做,

创建public JsonResult GetData(string id, string detailsDate) { .... return Json(person, JsonRequestBehavior.AllowGet); } 对象,该对象可用于在层之间传输数据。

Result

所有业务验证之后,作为public class Result { public HasResult { get; set; } public ErrorMessage { get; set;} public SuccessMessage { get; set;} } 对象传输到调用层(在您的情况下为Result)。

Controller

在控制器中

public Result IsValid(int Value)
{
    var result = new Result();

    result.HasResult = Value > 10;//set this after all your business rules 

    if(HasResult)
    {
        result.SuccessMessage = "Success"; 
    }    
    else
   {
         result.ErrorMessage = "Insert a bigger value";
   }

    return result;
}