我想在MVC应用程序中使用类似Exit sub
之类的操作,而我正在使用c#语言。
当我输入return
时,它显示错误。它要求强制ActionResult
。
[HttpPost]
public ActionResult Create(Location location)
{
if (ModelState.IsValid)
{
Validations v = new Validations();
Boolean ValidProperties = true;
EmptyResult er;
string sResult = v.Validate100CharLength(location.Name, location.Name);
if (sResult == "Accept")
{
ValidProperties = true;
}
else
{
//What should I write here ?
//I wan to write return boolean prperty false
// When I write return it asks for the ActionResult
}
if (ValidProperties == true)
{
db.Locations.Add(location);
db.SaveChanges();
return RedirectToAction("Index");
}
}
ViewBag.OwnerId = new SelectList(
db.Employees, "Id", "FirstName", location.OwnerId);
return View(location);
}
答案 0 :(得分:1)
如果我理解你在方法中做了什么,你可以尝试:
[HttpPost]
public ActionResult Create(Location location)
{
if (ModelState.IsValid)
{
Validations v = new Validations();
Boolean ValidProperties = true;
EmptyResult er;
string sResult = v.Validate100CharLength(location.Name, location.Name);
if (sResult == "Accept")
{
ValidProperties = true;
}
else
{
ValidProperties = false;
ModelState.AddModelError("", "sResult is not accepted! Validation failed");
}
if (ValidProperties == true)
{
db.Locations.Add(location);
db.SaveChanges();
return RedirectToAction("Index");
}
}
ViewBag.OwnerId = new SelectList(
db.Employees, "Id", "FirstName", location.OwnerId);
return View(location);
}
顺便说一下,在这种方法中有很多地方可以重构。
答案 1 :(得分:0)
如果声明一个方法返回除void之外的任何类型,则不能使用return指令退出它,并且必须提供返回类型。返回null通常就是答案。但是在MVC中,您可能希望返回一些能够向用户指出出现问题的内容。