Take the community feedback survey now.
                AI OnAI Off
            
        Take the community feedback survey now.
 
                Would be interested to hear if anyone has an actual solution to this but I have settled on filtering out the extra posts by settings a flag in TempData using these extensions:
    public static class ControllerExtensions
    {
        private  static string GetRunFlagKey(ContentData block, string key)
        {
            return "RunFlag" + (block as IContent).ContentLink + key;
        }
        public static bool GetRunFlag(this Controller controller, ContentData currentContent, string key)
        {
            var b = controller.TempData[GetRunFlagKey(currentContent, key)] as bool?;
            return b.HasValue;
        }
        public static void SetRunFlag(this Controller controller, ContentData currentContent, string key)
        {
            controller.TempData.Add(GetRunFlagKey(currentContent, key), true);
        }
    }
In the controller's Post function I simply have to check if the post has been called already:
        [HttpPost]
        public ActionResult Index(myModel model, string myValue)
        {
            if (!this.GetRunFlag(model.CurrentBlock, myValue))
            {
                this.SetRunFlag(model.CurrentBlock, myValue);
                ....
                         
    
    
    
I have created a completely standard block that submits a form. When the same block is added to the page twice and one of the forms are submitted, the block controller's Post function also gets called twice?
In the block's view:
And in the block's controller:
Since it is the same block, the viewmodel is not unique so I have no way of filtering out the 2nd Post.
Has anyone else had to deal with this?
Thanks
Simon