获取错误:并非所有代码路径都返回值

use*_*770 4 c#

我是mvc C#的新手,我被卡住了.请告知如何解决这个问题.我在Add上收到错误.当我将鼠标悬停在红色波浪线上时,它会显示"并非所有代码路径都返回值"

    public ActionResult Add(ShapeInputModel dto, FormCollection collection)
    {

        var model = new GeoRegions();

        if (TryUpdateModel(model))
        {


            var destinationFolder = Server.MapPath("/App_Data/KML");
            var postedFile = dto.Shape;

            if (postedFile != null)
            {
                var fileName = Path.GetFileName(postedFile.FileName);
                var path = Path.Combine(destinationFolder, fileName);
                postedFile.SaveAs(path);

                //Save to Database
                Db.AddGeoRegions(model);
                return RedirectToAction("Index");

            }

            return View();

        }
    }
Run Code Online (Sandbox Code Playgroud)

Wri*_*ick 9

用这个 :

public ActionResult Add(ShapeInputModel dto, FormCollection collection)
{
    var model = new GeoRegions();

    if (TryUpdateModel(model))
    {
        var destinationFolder = Server.MapPath("/App_Data/KML");
        var postedFile = dto.Shape;

        if (postedFile != null)
        {
            var fileName = Path.GetFileName(postedFile.FileName);
            var path = Path.Combine(destinationFolder, fileName);
            postedFile.SaveAs(path);

            //Save to Database
            Db.AddGeoRegions(model);
            return RedirectToAction("Index");
        }
        return View();

    }
    return null; // you can change the null to anything else also.
}
Run Code Online (Sandbox Code Playgroud)

发生错误是因为如果你的函数没有返回任何内容TryUpdateModel(model) = false.所以添加线return nullreturn 'any other thing'将解决问题!