none
Proprietà OnClick in tag HyperLink in GridView RRS feed

  • Domanda

  • Buon agosto a tutti.

    Nella mia GridView ho previsto una colonna con tag HyperLink in questo modo :

        <asp:TemplateField HeaderText="myField">
            <ItemTemplate>
                <asp:HyperLink ID="myField" runat="server" NavigateUrl='<%# (String.IsNullOrEmpty(Eval("myField").ToString()) ? String.Format("Validate.aspx?sId={0}", Eval("id").ToString()) : "") %>'
                    ImageUrl='<%#(String.IsNullOrEmpty(Eval("myField").ToString()) ? "/img/redbul.gif" : "/img/forestbul.gif")%>'
                    ToolTip='<%#(String.IsNullOrEmpty(Eval("myField").ToString()) ? "empty" : "full")%>'
                    Target="_blank" BorderStyle="None" ForeColor="Transparent" OnClick="if (!confirm('Continue ?'))return false;window.open(this.href,'playsample','width=500,height=500,left=100,top=100,scrollbars=yes,dependent=yes,toolbar=no,location=no,status=no,directories=no,menubar=no,status=no,resizable=yes');return false;">
                </asp:HyperLink>
            </ItemTemplate>
        </asp:TemplateField>


    Nel tag HyperLink ho settato la proprietà OnClick per aprire una pagina web all'interno di una finestra web popup, così :

    OnClick="if (!confirm('Continue ?'))return false;

    window.open(this.href,'playsample','width=500,height=500,left=100,top=100, scrollbars=yes,dependent=yes,toolbar=no,location=no,status=no,directories=no,menubar=no, status=no,resizable=yes');return false;">

    Il mio problema è che quando il valore del campo del DB chiamato myField a cui è associato il tag HyperLink non è nullo la proprietà OnClick è comunque attiva ed apre, in questo caso, nella finestra web popup una pagina web bianca.

    Questo è il codice HTML generato dalla GridView quando campo del DB chiamato myField non è nullo :

    <td class="ddl_Class_new" align="center">
       <a id="gvProducts_ctl03_myField" title="Full" OnClick="if(!confirm(&#39;Continue ?&#39;))return false;
              window.open(this.href,&#39;playsample&#39;,&#39;width=500,height=500,left=100,top=100,scrollbars=yes,dependent=yes,toolbar=no,location=no,status=no,
              directories=no,menubar=no,status=no,resizable=yes&#39;);return false;" target="_blank" style="display:inline-block;color:Transparent;border-style:None;">
       <img title="Full" src="/Img/forestbul.gif" alt="" style="border-width:0px;" /></a>
    </td>

    Spero in un vostro aiuto, grazie.
    Un saluto
    Carlo




    • Modificato cms9651 mercoledì 3 agosto 2016 11:37
    mercoledì 3 agosto 2016 11:33

Risposte

  • Buon pomeriggio Carlo e buon agosto anche a te.

    Per risolvere il problema potresti utilizzare nel controllo hyperlink la proprietà enable o visible, impostando true o false in base alla tua condizione espressa nella domanda.

    Ciao


    Paolo Pranzo

    • Proposto come risposta Alessio IafrateMVP mercoledì 3 agosto 2016 22:55
    • Contrassegnato come risposta cms9651 giovedì 4 agosto 2016 07:26
    mercoledì 3 agosto 2016 15:35

Tutte le risposte

  • Buon pomeriggio Carlo e buon agosto anche a te.

    Per risolvere il problema potresti utilizzare nel controllo hyperlink la proprietà enable o visible, impostando true o false in base alla tua condizione espressa nella domanda.

    Ciao


    Paolo Pranzo

    • Proposto come risposta Alessio IafrateMVP mercoledì 3 agosto 2016 22:55
    • Contrassegnato come risposta cms9651 giovedì 4 agosto 2016 07:26
    mercoledì 3 agosto 2016 15:35
  • Buon pomeriggio Carlo e buon agosto anche a te.

    Per risolvere il problema potresti utilizzare nel controllo hyperlink la proprietà enable o visible, impostando true o false in base alla tua condizione espressa nella domanda.

    Ciao


    Paolo Pranzo

    Grazie Paolo, non ci avevo pensato e ho risolto con il tuo suggerimento :

    Enabled='<%#(!String.IsNullOrEmpty(Eval("myField").ToString()) ? false : true)%>'

    giovedì 4 agosto 2016 07:27