2

紛らわしいエラーが発生しましたが、その理由がよくわかりません。通常、この種のエラーは、2 つの ActionResult があり[HttpPost]、そのうちの 1 つを忘れた場合に表示されます。しかし、ご覧のとおり、私 [HttpPost]そこにいるので、何がこの問題を引き起こしているのでしょうか?

エラー:Type 'PersonalWebsite.Controllers.BlogController' already defines a member called 'Search' with the same parameter types Controllers\BlogController.cs

そしてコード:

//
// GET: /Blog/Search

public virtual ActionResult Search()
{
    return RedirectToAction(MVC.Blog.Index());
}

//
// POST: /Blog/Search

[HttpPost]
[ValidateInput(false)]
public virtual ActionResult Search(SearchViewModel model)
{
    // irrelevant code snipped

    return View(model);
}

このコントローラーで定義されている他のSearch()メソッドはありません。奇妙です。

何か案は?

4

2 に答える 2

2

次の方法でメソッドのエイリアスを作成できます。

    [HttpPost]
    [ValidateInput(false)]
    [ActionName("Search")]
    public virtual ActionResult SearchByPost(SearchViewModel model)
    {
        // irrelevant code snipped

        return View(model);
    }
于 2013-06-25T13:34:03.963 に答える
2

メソッドSearchは既に別の で定義されていpartialます。

ここを参照してください: https://github.com/Imdsm/PersonalWebsite/blob/master/PersonalWebsite/BlogController.generated.cs

[NonAction]
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
public virtual System.Web.Mvc.ActionResult Search()
于 2013-06-25T13:33:12.207 に答える