System.InvalidOperationException

240
01 декабря 2017, 03:07

Помогите, что я сделал не так? Полная версия ошибки:

System.InvalidOperationException: Элемент модели, переданный в словарь, имеет тип "System.Int32", но для этого словаря требуется элемент модели типа "Labs5.Models.Calc".

Листинг Calc.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
namespace Labs5.Models
{
    public class Calc
    {
        [Required(ErrorMessage ="Число не введено")]
        public int a { get; set; }
        public string[] CalcRes; 
    }
}

Листинг SquareController.cs:

using Labs5.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Labs5.Controllers
{
    public class SquareController : Controller
    {
        [HttpGet]
        // GET: Square
        public ActionResult Calculate()
        {
            return View();
        }
        [HttpPost]
        public ActionResult CalculateResult(Calc calcx)
        {
            calcx.CalcRes = new string[calcx.a];
            int a = calcx.a;
            int sq = a * a;
            //calcx.CalcRes[sq] = String.Format("{0} = {1}", a, sq);
            return View("CalculateResult", sq);
        }
    }
}

Листинг Calculate.cshtml

@using System.Web.Optimization;
@using Labs5.Models
@model Calc
@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Calc</title>
    @Scripts.Render("~/scripts/jquery-1.8.0.js")
    @Scripts.Render("~/scripts/jquery.unobtrusive-ajax.js")
</head>
<body>
    <div>
        @using (Ajax.BeginForm("CalculateResult", new AjaxOptions { UpdateTargetId = "results" }))
        {
            <p>
                @Html.Label("Введите число")
                @Html.EditorFor(c=>c.a)
            </p>
            <p>
                <input type="submit" value="Вычислить" />
            </p>
        }
        <div id="results"></div>
    </div>
</body>
</html>

Листинг CalculateResult.cshtml

@using Labs5.Models
@model Calc
<h2>CalculateResult</h2>
<body>
    Ответ: Корень @Model.a равен @Model.CalcRes
    </body>
<a href="/Square/Calculate">Вычислить еще</a>
READ ALSO
Math.Pow(31, 43) % 77 даёт неправильно значение

Math.Pow(31, 43) % 77 даёт неправильно значение

Компилятор даёт значение 48Калькулятор 3 - правильное значение

323
Программная авторизация на сайте oauth20.mos.ru

Программная авторизация на сайте oauth20.mos.ru

Подскажите, как можно авторизироваться на сайте, для дальнейшего редиректа

270
Отслеживание закрытия программы winforms

Отслеживание закрытия программы winforms

Нужно, чтобы после нажатия кнопки "закрыть" , программа выполняла кодЯ находил решение этой задачи

254
Рандомный спавн приложения winforms c#

Рандомный спавн приложения winforms c#

Как сделать так , что бы приложение рандомно выбирала в какую часть экрана спавниться через код c#-па?

215