我有一个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;
}
}
但是,控制台仅显示已引发异常,而不显示我要求的消息。有语法错误还是我刚刚搞砸了?
答案 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;
}