tags:

views:

296

answers:

1

I have a Product controller with Index action, which basically creates the view form for post and Index (Post action verb) action on the ProductController which basically save the product to db but when validation errors occur, I am returning a View(mymodel) else when saved, I am returning RedirectToAction("Created,"Product") but for some odd reason when I break into the code , it is hitting the Product Controller action twice rather than just once. Hence the product has 2 records instead of one. Any pointers ... Pls help.

public ActionResult Index()
{
    return View()
}

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(FormCollection fc)
{
    // 2 calls are made to this controller
    try
    {
        // save the product
        return RedirectToAction("Created"); 
    }
    catch(Exception ex)
    {
        // recreate the model from form collection
        return View(viewData); // when a validation error occurs it comes into the catch block 
    }
}
+2  A: 

Sometimes I have found Firebug to cause this behavior, try disabling it if you have it installed.

mxmissile
This has been a serious pane in the ass cheeks :(Also, watch out for YSlow doing the same if it is set to Auto-Run obviously!
jmcd