Come evitare Page_Load() sul tasto di scatto?

Ho due pulsanti, visualizzare in anteprima e Salvare. Con l’aiuto del pulsante di anteprima utente può visualizzare i dati in base al formato e quindi può salvare.

Ma quando l’anteprima è cliccato, una casella di testo collegata a ajaxcontrol (Calandra) diventa vuoto e l’utente deve compilare la data prima di salvare. Come gestire questo? In anteprima, fare clic su ottenere i dettagli per visualizzare i dati in formato.

<asp:TextBox ID="txtDate" ReadOnly="true" runat="server"></asp:TextBox>
                    <div style="float: right;">
                        <asp:ImageButton ID="imgcalender1" runat="server" ImageUrl="~/images/calendar.png"
                            ImageAlign="Bottom" />
                        <asp:CalendarExtender ID="ajCal" TargetControlID="txtpublishDate" PopupButtonID="imgcalender1"
                            runat="server">
                        </asp:CalendarExtender>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator2"  ValidationGroup="group1" runat="server" ControlToValidate="txtDate"
                            ForeColor="Red" Font-Bold="true" ErrorMessage="*"></asp:RequiredFieldValidator>
                    </div>

<asp:Button ID="btnPreview" runat="server" Text="Preview" OnClick="btnPreview_Click" />
                    <asp:Button ID="btnsubmit" runat="server" ValidationGroup="group1" Text="Save" OnClick="btnsubmit_Click" />

InformationsquelleAutor Abhishek Ranjan | 2013-03-28

6 Replies
  1. 8

    Da quello che sto capendo il pulsante anteprima causa di un postback e non voglio provare questo sul pulsante anteprima:

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

    allo stesso modo questo funziona anche:

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

    Edit:

    sembra che la risposta dell’utente domanda era semplice modifica nel codice HTML mark-up del pulsante di anteprima

    CausesValidation="False"
    Questo non funziona.Ho modificato la mia domanda. In realtà su fare clic sul pulsante anteprima vado sul server per ottenere i dettagli di tutto, il controllo e poi mostrarlo diversi layout.
    provare CausesValidation=”False”, attributo sul pulsante di anteprima e fammi sapere se funziona
    Grazie!!! non risolvere il problema. Soluzione semplice. 🙂

    InformationsquelleAutor Prakash Chennupati

  2. 15

    Utilizzare La Pagina.IsPostback() nel codice aspx (lato server). Come questo:

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

    Questo codice verrà eseguito solo il primo volta che la pagina viene caricata, ed evita di pestare inserite dall’utente, le modifiche al modulo.

    InformationsquelleAutor tgolisch

  3. 3

    si può mettere il codice in

    Page_Init()
    {
       //put your code here
    }

    invece di

    Page_Load()
    {
       //code
    }

    InformationsquelleAutor John Adel

  4. 2

    Ho avuto lo stesso problema e la soluzione di “CausesValidation=”False”” e anche l’aggiunta di “UseSubmitBehavior=”False”” NON si è ancora chiamato “Page_Load” metodo.

    Cosa ha funzionato per me è stata aggiunta la seguente riga di fronte nel metodo Page_Load.

    if (IsPostBack) return; 

    Sto accennando questo se aiuta qualcuno (volevo dire a commento di cui sopra, ma StackOverflow non mi ha permesso di commento perché sono un nuovo utente, quindi, una nuova risposta).

    InformationsquelleAutor QuasiMatter

  5. -1
    form1.Action = Request.RawUrl; 

    Scrivere questo codice al caricamento della pagina, e quindi la pagina non è post indietro sul pulsante fare clic su

    InformationsquelleAutor aher jayashri

Lascia un commento