2012-05-22 14 views
9

में रिमोट सत्यापन के लिए सफलता प्रतिक्रिया पर कुछ करें, मैं अपने asp.net mvc 3 applicaion (C#) के पंजीकरण के दौरान उपयोगकर्ता नाम की उपलब्धता की जांच करने के लिए दूरस्थ सत्यापन का उपयोग कर रहा हूं।एमवीसी

मैं MVC दूरदराज के गुण मान्यता के रूप में उपयोग कर रहा हूँ:

return Json(true, JsonRequestBehavior.AllowGet); 

तब मैं छिपी हुई फ़ील्ड मूल्य है, जो कार्रवाई से वापसी है सेट की तरह कुछ करना चाहते:

[Remote("IsUserNameAvailable", "User")] 
public string UserName { get; set; } 

जब मैं इस वापसी या हरे रंग की आइकन छवि दिखाएं। और मैं सच के साथ आईडी वापस करना चाहता हूं।

इन चीजों को कैसे प्राप्त करें?

संक्षेप में, मैं सफलता पर कुछ करना चाहता हूं।

उत्तर

19

एक तरीका यह है कि प्राप्त करने के लिए मान्यता कार्रवाई से एक कस्टम HTTP प्रतिक्रिया हेडर को जोड़ने के लिए है:

:

public ActionResult IsUserNameAvailable(string username) 
{ 
    if (IsValid(username)) 
    { 
     // add the id that you want to communicate to the client 
     // in case of validation success as a custom HTTP header 
     Response.AddHeader("X-ID", "123"); 
     return Json(true, JsonRequestBehavior.AllowGet); 
    } 

    return Json("The username is invalid", JsonRequestBehavior.AllowGet); 
} 

अब ग्राहक पर हम स्पष्ट रूप से उपयोगकर्ता नाम एक मानक फार्म और एक इनपुट फ़ील्ड है

:
@model MyViewModel 
@using (Html.BeginForm()) 
{ 
    @Html.EditorFor(x => x.UserName) 
    @Html.ValidationMessageFor(x => x.UserName) 
    <button type="submit">OK</button> 
} 

और अब पहेली के अंतिम टुकड़ा उपयोगकर्ता नाम मैदान पर remote शासन के लिए एक complete हैंडलर संलग्न करने के लिए है 0

+0

वाह .... कमाल ....... बहुत बहुत धन्यवाद ...... –