2010-04-09 7 views
12

मैं एएसपी.नेट एमवीसी में AjaxOptions कक्षा के OnSuccess फ़ंक्शन के पैरामीटर कैसे पास कर सकता हूं?मैं एएसपी.नेट एमवीसी में अजाक्स ऑप्शन क्लास के ऑनस्यूफ फ़ंक्शन में पैरामीटर कैसे पास कर सकता हूं?

यहाँ मेरी कोड है, लेकिन यह काम नहीं करता:

<%= Ajax.ActionLink("Delete", 
        "Delete", 
        "MyController", 
        New With {.id = record.ID}, 
        New AjaxOptions With 
        { 
         .Confirm = "Delete record?", 
         .HttpMethod = "Delete", 
         .OnSuccess = "updateCount('parameter')" 
        }) 
%> 

अद्यतन

(function(){updateCount('parameter');}) करने के लिए OnSuccess गुण को सेट मेरी समस्या हल:

<%= Ajax.ActionLink("Delete", 
        "Delete", 
        "MyController", 
        New With {.id = record.ID}, 
        New AjaxOptions With 
        { 
         .Confirm = "Delete record?", 
         .HttpMethod = "Delete", 
         .OnSuccess = "(function(){updateCount('parameter');})" 
        }) 
%> 

उत्तर

10

आप चाहिए उपयोग करने में सक्षम हो एक jQuery चयनकर्ता पेज के एक खेत से कि मान रहे हैं:

<%= Ajax.ActionLink("Delete", 
        "Delete", 
        "MyController", 
        New With {.id = record.ID}, 
        New AjaxOptions With 
        { 
         .Confirm = "Delete record?", 
         .HttpMethod = "Delete", 
         .OnSuccess = "updateCount($('#SomeField).val()))" 
        }) 
%> 

इसके अलावा यहां एक बार देख ले: Can I pass a parameter with the OnSuccess event in a Ajax.ActionLink

+0

धन्यवाद कि मुझे उस लिंक पर इंगित करने के लिए बहुत कुछ धन्यवाद। मैंने पहले उस पोस्ट को देखा था लेकिन जवाबों में से एक को नजरअंदाज कर दिया था। –

+0

@ डेव, मैं सफलता समारोह में जेनरेट किए गए एंकर को कैसे पास कर सकता हूं? मैंने 'यह' कोशिश की, लेकिन यह काम नहीं किया। – Shimmy

1

यहाँ एक MVC4 उदाहरण है। OnBegin, OnSuccess, OnComplete और OnFailure -Functions का उपयोग मेरे AJAX एनिमेशन को सक्षम/अक्षम करने के लिए किया जाता है। प्रत्येक फ़ंक्शन पैरामीटर के रूप में एक आइटम आईडी को पास करता है ताकि मुझे मेरे सभी AJAX अनुभागों के लिए मेरे जेएस फ़ंक्शंस का पुन: उपयोग करने की अनुमति मिल सके। AJAXOnbegin() एक gif दिखाता है और AJAXOnsuccess इसे फिर से छुपाता है।

<script> 
@*Ajax Animation*@ 
    $(document).ready(function() { 
     $("#ajaxLoadingGif").hide(); 
    }); 
    function ajaxOnbegin(id) { 
     //show animated gif 
     $(id).show(); 
    } 
    function ajaxOnsuccess(id) { 
     //disable animated gif 
     $(id).hide(); 
    } 
    function ajaxOnfailure(id) { 
     //disbale animated gif 
     $(id).hide(); 
    } 
    function ajaxOncomplete(id) { 
     //disable animated gif 
     $(id).hide(); 
    } 


    </script> 

@Ajax.ActionLink(linkText: " Hi", // <-- Text to display 
        actionName: "getJobCards", // <-- Action Method Name 
        routeValues: new { searchString = ViewBag.searchString}, 
        ajaxOptions: new AjaxOptions{ 
           "#itemId", // <-- DOM element ID to update 
           InsertionMode = InsertionMode.Replace, 
           HttpMethod = "GET", // <-- HTTP method 
           OnBegin = "ajaxOnbegin('#ajaxLoadingGif')", 
              //="ajaxOnbegin" without parameters 
           OnSuccess = "ajaxOnsuccess('#ajaxLoadingGif')", 
           OnComplete = "ajaxOncomplete('#ajaxLoadingGif')", 
           OnFailure = "ajaxOnfailure('#ajaxLoadingGif')" 
           }, 
           htmlAttributes: new { id = ViewBag.ajaxId } 

       ) 
संबंधित मुद्दे

 संबंधित मुद्दे