DCSIMG
Custom Validator with ajax call - שלמה גולדברג (הרב דוטנט)

שלמה גולדברג (הרב דוטנט)

מרצה בסלע ויועץ בעולם ה - net.

Custom Validator with ajax call

 

נניח שיש לכם custom validator שאתם רוצים בצד הקליינט לפנות ב - ajax לשרת.
 
 
 

<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

 

<asp:CustomValidator ID="CustomValidator1" ControlToValidate="TextBox1"

    ClientValidationFunction="customValid"

    runat="server" ErrorMessage="CustomValidator"></asp:CustomValidator>

 
 
המתודה להפעלה בזמן ולידצייה (הייתי שמח להשתמש עם ScriptManager אבל לצערי הם כתבו את הקוד שלהם בצורה מטופשת (קצת) שעושה את הקריאות תמיד בצורה אסינכרונית וחבל שהם לא נתנו את היכולת להחליט האם להריץ בצורה סינכרונית או אסינכרונית)
 
ולכן השתמשתי ב - jQuery
 

function customValid(sender, args) {

    $.ajax({

        type: 'POST',

        url: 'WebService1.asmx/IsOk',

        data: { str: args.Value },

        async: false,

        success: function(result) {

            args.IsValid = eval(result.text);

        }

    });

}

 
אני מפעיל את המתודה IsOk ב - WebService בצורה סינכרונית (אחרת יהיה לי PostBack עוד לפני שאני אקבל תשובה)
 
הנה המתודה ב - WebService
 

[WebMethod]

public bool IsOk(string str)

{

    return str == "ok";

}

תוכן התגובה

שלמה גולדברג כתב/ה:

בפוסט הזה התרעמתי על הצורה שמיקרוסופט מימשו את ה - PageMethods - כתבתי שהם כתבו harscode שכל הקריאות

# April 20, 2010 8:43 PM
שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 8 and 2 and type the answer here:


Enter the numbers above: