0

Exit subMVC アプリケーションと同様のアクションを使用したいのですが、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 に答える