I have a gridpanel and when a row is double clicked on, two parameters will be sent to a controller method, then the values returned will be inserted into a formpanel, the formpanel which is in a window will then be shown. The controller method should return nothing.

However, each time I double click on a row the file download dialog appears, which I dont understand why that happens?
The debugger found in the Success property of the RowDblClick tag is never reached.
The formpanel, found in the window, contains two fields which never get filled with the values returned from the controller method.

Here is the row double click code and below that is the controller method.

                                <DirectEvents>
                                    <RowDblClick Url="/Personal/loadMessage/" CleanRequest="true" Before="MessageViewWindow.show();Ext.net.Mask.show({msg: 'Loading Email, Please Wait...'});"
                                        Success="debugger;BodyFieldMessageViewFormPanel.setValue(result.extraParamsResponse.body); AttachmentsFieldMessageViewFormPanel.setValue(result.extraParamsResponse.attachments); Ext.net.Mask.hide();">
                                        <ExtraParams>
                                            <ext:Parameter Name="messageAddress" Mode="Raw" Value="GridPanel1.getRowsValues({ selectedOnly: true })[0].Address" />
                                            <ext:Parameter Name="hasAttachment" Mode="Raw" Value="GridPanel1.getRowsValues({ selectedOnly: true })[0].HasAttachments" />
                                        </ExtraParams>
                                    </RowDblClick>
                                </DirectEvents>
        public AjaxResult loadMessage(String messageAddress, bool hasAttachment)
        {
            String attachments = getAttachments(messageAddress);

            setEmailRead(messageAddress);

            Message message1 = resource.GetMessage(messageAddress);

            String body = reconfigureImageTags(messageAddress, message1.HtmlDescription, hasAttachment); // This action and sub-actions are the problem

            AjaxResult result = new AjaxResult();
            result.ExtraParamsResponse.Add(new Parameter { Name = "body", Value = body});
            result.ExtraParamsResponse.Add(new Parameter { Name = "attachments", Value = attachments });

            return result;
        }