错误:无法将类型'MyBlock.BlockClass'隐式转换为'System.Web.Mvc.ActionResult'

时间:2012-12-03 02:52:36

标签: c# asp.net asp.net-mvc asp.net-mvc-3 razor

我正在尝试使用计算块的音量的基本dll文件,并使用asp.net mvc来创建页面。

我有一个表单,它接受三个输入,在控制器页面中有这个代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcApplication1.Controllers
{
    public class blockController : Controller
    {
        //
        // GET: /block/

        public ActionResult Index()
        {
            return View();
        }

        [HttpPost]
        public ActionResult Index(BlockModel model)
        {
            if (ModelState.IsValid)
            {
                MyBlock.BlockClass newVol = new MyBlock.BlockClass(model.Length, model.Width, model.Height);
                return newVol;
            }
        }

    }
}

块dll取长度宽度和高度的三个值,当我尝试运行它时出现此错误

Error   6   Cannot implicitly convert type 'MyBlock.BlockClass' to 'System.Web.Mvc.ActionResult'    c:\users\ryan\documents\visual studio 2012\Projects\dad\MvcApplication1\MvcApplication1\Controllers\blockController.cs  25  24  MvcApplication1

唯一的其他代码来自我的视图页面,如果它有助于解决问题,也可以发布,因为我试图显示BlockClass的结果。

1 个答案:

答案 0 :(得分:1)

它应该是这样的

 [HttpPost]
 public ActionResult Index(BlockModel model)
 {
    if (ModelState.IsValid)
    {
        MyBlock.BlockClass newVol = new MyBlock.BlockClass(model.Length, model.Width, model.Height);

        return View("MyBlockView", newVol);   // The view you want to pass the model too
    }
 }