Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

tag does not evaluate expression ex: '<%= DataListRoutesForAssignment.ClientID %>' does not work..

  •  08-08-2008, 09:01

    tag does not evaluate expression ex: '<%= DataListRoutesForAssignment.ClientID %>' does not work..

    Το πρόβλημα: Έχω ένα button που καλεί μια javascript. Θέλω να πάρει παράμετρο το ClientID ενός άλλου control.

    πχ

    <asp:Button ID="ButtonDeselectAllFromList" runat="server" Text="Αποεπιλογή Όλων"

    OnClick="ButtonDeselectAllFromList_Click"

    OnClientClick="SetContainerCheckBoxStates('<%= DataListRoutesForAssignment.ClientID %>','RowCheckBoxSelect',false)"

    />

    Δεν θέλει να δουλέψει με τίποτα. Ως παράμετρος στην συνάρτηση τελικά περνάει το <%= DataListRoutesForAssignment.ClientID %> σαν string. Η έκφραση δεν γίνεται evaluate.

    Η σελίδα κάνει render και εμφανίζει onclick="SetContainerCheckBoxStates('&lt;%= DataListRoutesForAssignment.ClientID %>', σώνει και ντε το < -> &lt (έχει σημασία;)

    WorkAround

    Το πρόβλημα λύνεται ως εξής: φτιάχνω μια παράμετρο που περνάω την έκφραση και χρησιμοποιώ την παράμετρο. Γιατί όμως τώρα το "<%= DataListRoutesForAssignment.ClientID %>" δουλεύει;

    Λύση

    <script type='text/javascript'>

    var dataListClientID = "<%= DataListRoutesForAssignment.ClientID %>";

    </script>

    <asp:Button ID="ButtonSelectAllFromList" runat="server" Text="Επιλογή Όλων" OnClick="ButtonSelectAllFromList_Click"

    CausesValidation="False"

    OnClientClick="SetContainerCheckBoxStates(dataListClientID,'RowCheckBoxSelect',true)" />

    Καμιά ιδέα για το τι μπορεί να πηγαίνει στραβά;;;;;;
    Ευχαριστώ


    Stefanos Aslanis
    Δημοσίευση στην κατηγορία: ,
Δείτε όλες τις δημοσιεύσεις της Θεματική Ενότητας
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems