0

我想Exit sub在 MVC 应用程序中使用类似的操作,并且我正在使用 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);
    }
4

2 回答 2

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);
}

顺便说一句,这种方法有很多地方需要重构。

于 2012-08-01T14:21:20.797 回答
0

如果方法被声明为返回 void 以外的任何类型,则不能使用 return 指令退出它,并且必须提供返回类型。返回 null 通常是答案。然而,在 MVC 中,您可能希望返回一些内容,以向用户表明出现问题。

于 2012-08-01T10:02:08.147 回答