ASP.Net Custom straně klienta Validation

hlasů
23

Mám vlastní funkci ověření v JavaScriptu v uživatelský ovládací prvek na webové stránce .Net 2.0, který zkontroluje, zda je poplatek zaplacený není vyšší než částka poplatku splatnosti.

Jsem umístil validátor kód v ascxsouboru, a také jsem se pokusil pomocí Page.ClientScript.RegisterClientScriptBlock()a v obou případech validační požáry, ale nemůže najít funkci JavaScript.

Výstup v chybové konzole Firefox je feeAmountCheck is not defined. Zde je funkce (toto bylo převzato přímo z firefox-> zdroj)

<script type=text/javascript>
    function feeAmountCheck(source, arguments)
    {
        var amountDue = document.getElementById('ctl00_footerContentHolder_Fees1_FeeDue');
        var amountPaid = document.getElementById('ctl00_footerContentHolder_Fees1_FeePaid');

        if (amountDue.value > 0 && amountDue >= amountPaid)
        {
            arguments.IsValid = true;
        }
        else
        {
            arguments.IsValid = false;
        }

        return arguments;
    }
</script>

Nějaké nápady, proč není nalezena funkce? Jak mohu napravit to aniž by bylo nutné přidat funkci do mého vzorové stránky nebo náročné stránka?

Položena 04/08/2008 v 17:44
zdroj uživatelem
V jiných jazycích...                            


4 odpovědí

hlasů
12

Zkuste změnit jména argumentů pro sendera args. A poté, co jste to funguje, přepnutí hovoru přes aby ScriptManager.RegisterClientScriptBlockbez ohledu na to AJAX použití.

Odpovězeno 04/08/2008 v 18:02
zdroj uživatelem

hlasů
6

Pokud používáte .Net 2.0 a Ajax - měli byste použít:

ScriptManager.RegisterClientScriptBlock

To bude fungovat lépe v prostředí Ajax pak stará Page.ClientScript verze

Odpovězeno 04/08/2008 v 17:51
zdroj uživatelem

hlasů
0

Také můžete použít:

var amountDue = document.getElementById('<%=YourControlName.ClientID%>');

Který bude automaticky vyřešit ID klienta pro prvek, aniž byste museli přijít na to, že se to jmenuje 'ctl00_footerContentHolder_Fees1_FeeDue'.

Odpovězeno 13/06/2009 v 19:10
zdroj uživatelem

hlasů
0

I když bych ještě chtěl odpovědět, proč moje javascript nebyla uznána, řešení jsem našel v mezidobí (a měl udělat v první řadě), je s výhodou použít Asp:CompareValidatornamísto Asp:CustomValidator.

Odpovězeno 04/08/2008 v 20:13
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more