How to avoid Page_Load() on button click?

Use Page.IsPostback() in your aspx code (server-side). Like this:

private void Page_Load()
{
    if (!IsPostBack)
    {
        // the code that only needs to run once goes here
    }
}

This code will only run the first time the page is loaded and avoids stepping on user-entered changes to the form.


From what I am understanding the preview button is causing a postback and you do not want that, try this on your preview button:

<asp:button runat="server".... OnClientClick="return false;" />

similarly this also works:

YourButton.Attributes.Add("onclick", return false");

Edit:

it seems the answer to the user's question was simple change in the HTML mark up of the preview button

CausesValidation="False"