为什么提交按钮不会调用控制器功能?

时间:2013-08-30 12:44:06

标签: asp.net-mvc-4 razor

调用控制器功能时遇到一个小问题。奇怪的是,每个其他提交按钮工作正常。但是这个问题我现在还无法解决。 我将通过提交按钮向您显示两个表单,因为只有一个工作正常。

控制器:

public class MyController : Controller
{
    public ActionResult MethodOne()
        {
            ...
            return RedirectToAction("index");
        }

    public ActionResult MethodTwo()
        {
            ...
            return RedirectToAction("index");
        }
}

观点:

//This one works fine!!
@using (Html.BeginForm("MethodOne", "My", FormMethod.Post))
{
    <input id="Some-cool-id" type="submit" value="Add!" />
}

//This one doesn't work?!
@using (Html.BeginForm("MethodTwo", "My", FormMethod.Post))
{
    <input id="some-cool-id2" type="submit" value="Delete"!" />
}

错误告诉Method2不在所需的路径中。

Resource not found.

Description: HTTP 404. Searched resource (or ...) ... 

Required path URL: /My/MethodTwo

我正在寻找什么是坏事,但最后,我需要一个帮助,谢谢。

2 个答案:

答案 0 :(得分:1)

在方法之前添加属性[HttpPost]

答案 1 :(得分:0)

试试这个,

  @using (Html.BeginForm("MethodTwo", "Test", FormMethod.Post))
    {
        <input type="submit" value="asd" />
    }


     @using (Html.BeginForm("MethodOne", "Test", FormMethod.Post))
    {
        <input type="submit" value="poll" />
    }

<强>控制器

 public class TestController : Controller
    {

 public ActionResult MethodOne()
        {

        return RedirectToAction("CustomerInfo");
    }

    public ActionResult MethodTwo()
    {

        return RedirectToAction("CustomerInfo");
    }

 [HttpGet]
        public ActionResult CustomerInfo()
        {

        ViewBag.CustomerNameID = new SelectList(List, "CustomerId", "customerName");
        ViewBag.RegisterItems = GetAllRegisterData();
        ViewData["SampleList"] = GetAllRegisterData();
        return View();
    }
}