有人有同样的问题吗? MVC中的拾色器

时间:2019-06-11 19:39:44

标签: c# asp.net-mvc asp.net-mvc-4

我在MVC中制作了一个颜色选择器,它可以工作,但是知道它不再起作用了。 我收到此错误“ InvalidOperationException:不允许子操作执行重定向操作。”

我尝试了一切。尝试了一些旧代码,这是一个测试版本。它不起作用。

我是MVC的新手。我制作一个Web界面来控制ledstrip。

HTML代码:

<div class="Index-Wrapper">
<form action="/Lichten/LedStripOn" method="post">
    @Html.EditorFor(T => T.Color, new { htmlAttributes = new { @class = "form-control" } })
    <button type="submit" value="Submit">ON</button>
</form>

<button type="button" onclick="location.href='@Html.Action("LedStripOff","Lichten")'">OFF</button>

ControllerCode:

// GET: Lichten
    public ActionResult LedStrip()
    {
        return View();
    }

    // GET: Lichten/LedStripOn
    public ActionResult LedStripOn(Models.LedStrip form)
    {
        if (ModelState.IsValid)
        {
            ViewBag.Kleur = form.Color;
            int R = Convert.ToInt32(form.Color.Substring(1, 2), 16);
            int G = Convert.ToInt32(form.Color.Substring(3, 2), 16);
            int B = Convert.ToInt32(form.Color.Substring(5, 2), 16);

            ViewBag.R = R;
            ViewBag.G = G;
            ViewBag.B = B;

            /*SerialPort mySerialPort = new SerialPort("COM5", 9600);
            mySerialPort.Open();
            mySerialPort.Write(1 + ";" + R + ";" + G + ";" + B);
            mySerialPort.Close();
            */

            return View();
        }
        else
        {
            return View("LedStrip", form);
        }


    }

    // GET: Lichten
    public ActionResult LedStripOff()
    {
        /*SerialPort mySerialPort = new SerialPort("COM5", 9600);
        mySerialPort.Open();
        mySerialPort.Write(0);
        mySerialPort.Close();
        */
        return RedirectToAction("LedStrip");
    }

错误消息:

InvalidOperationException: Child actions are not allowed to perform redirect actions.

0 个答案:

没有答案