如何区分行动结果

时间:2014-04-01 09:26:08

标签: c# asp.net-mvc

我的页面加载操作结果和http发布操作结果都传递给模型。

    [Authorize]
    public ActionResult StepTwo(PostcodesModel model)
    {
        return View();
    }

    [Authorize]
    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult StepTwo(PostcodesModel model)
    {
        return View();
    }

既然他们都参与了模型,我可以添加什么来使它们独一无二?

2 个答案:

答案 0 :(得分:8)

您应该使用ActionName属性,它表示用于操作名称的属性。如果不存在,则使用方法的名称。

    [Authorize]
    public ActionResult StepTwo(PostcodesModel model)
    {
        return View();
    }

    [ActionName("StepTwo")]
    [Authorize]
    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult StepTwoPost(PostcodesModel model)
    {
        return View();
    }

答案 1 :(得分:1)

我通常使用FormCollection

[Authorize]
public ActionResult StepTwo(PostcodesModel model)
{
    return View();
}

[Authorize]
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult StepTwo(PostcodesModel model, FormCollection additionalData)
{
    return View();
}