अजाक्स उसी तरह काम करता है, लेकिन @Ajax सहायक के के बजाय, नए MVC 6 टैग सहायकों का उपयोग करें (मत भूलना संदर्भ के लिए 'jQuery' और 'jquery.unobtrusive-ajax' स्क्रिप्ट)।
JQuery Unobtrusive Ajax Asp.Net GitHub रेपो में मौजूद है और बोवर खींच लिया जा सकता है।
नई MVC TagHelpers का उपयोग करना, आप बस की तरह प्रपत्र की घोषणा के बाद:
<form asp-controller="Home" asp-action="SaveForm" data-ajax="true" data-ajax-method="POST">
...
</form>
AjaxOptions कि पिछले MVC संस्करणों पर अजाक्स हेल्पर पर अस्तित्व में उपयोग करने के लिए, बस जोड़ने उन विशेषताओं की तरह प्रपत्र टैग करना इस:
<form asp-controller="Home" asp-action="SaveForm" data-ajax="true" data-ajax-method="POST" data-ajax-mode="replace" data-ajax-update="#content">
...
</form>
<div id="content"></div>
एचटीएमएल विशेषताओं (पूर्व AjaxOptions) जिसे आपने फ़ॉर्म में उपयोग कर सकते हैं (original source) निम्नलिखित हैं:
+------------------------+-----------------------------+
| AjaxOptions | HTML attribute |
+------------------------+-----------------------------+
| Confirm | data-ajax-confirm |
| HttpMethod | data-ajax-method |
| InsertionMode | data-ajax-mode |
| LoadingElementDuration | data-ajax-loading-duration |
| LoadingElementId | data-ajax-loading |
| OnBegin | data-ajax-begin |
| OnComplete | data-ajax-complete |
| OnFailure | data-ajax-failure |
| OnSuccess | data-ajax-success |
| UpdateTargetId | data-ajax-update |
| Url | data-ajax-url |
+------------------------+-----------------------------+
एक अन्य महत्वपूर्ण परिवर्तन है आप कैसे सर्वर साइड पर जाँच करता है, तो अनुरोध वास्तव में एक AJAX अनुरोध है। पिछले संस्करणों पर हमने बस Request.IsAjaxRequest()
का उपयोग किया था।
MVC6 पर, आप एक ही विकल्प है कि पिछले MVC संस्करणों पर ही अस्तित्व में जोड़ने के लिए एक सरल विस्तार (original source) बनाने के लिए:
/// <summary>
/// Determines whether the specified HTTP request is an AJAX request.
/// </summary>
///
/// <returns>
/// true if the specified HTTP request is an AJAX request; otherwise, false.
/// </returns>
/// <param name="request">The HTTP request.</param><exception cref="T:System.ArgumentNullException">The <paramref name="request"/> parameter is null (Nothing in Visual Basic).</exception>
public static bool IsAjaxRequest(this HttpRequest request)
{
if (request == null)
throw new ArgumentNullException("request");
if (request.Headers != null)
return request.Headers["X-Requested-With"] == "XMLHttpRequest";
return false;
}
स्रोत
2016-02-12 12:07:41
आप गहराई जवाब में के लिए बहुत बहुत धन्यवाद। तो उपरोक्त सभी सेटिंग्स के साथ मैं अभी भी अपने जावास्क्रिप्ट में यह होगा? $ ('फॉर्म') सबमिट करें (फ़ंक्शन() {$ .ajax ({...});}); मान लीजिए या यह सभी एएसपी-एक्शन = "बनाएं" के अलावा फॉर्म घोषणा में निर्दिष्ट सेटिंग्स के साथ काम नहीं किया है। हो सकता है कि मैं 'डेटा-एजेक्स' और 'डेटा-एजेक्स-विधि' के उद्देश्य को गलत समझ रहा हूं, जो कि मैंने AJAX प्राप्त करने के लिए ऊपर दिए गए कोड को लिख रहा था। क्या आप मुझे बता सकते हैं कि ये गुण मेरे AJAX के साथ कैसे मदद करते हैं क्योंकि यह बिना काम कर रहा था? या कम से कम ऐसा लगता है कि यह काम कर रहा था क्योंकि मैं कार्रवाई –
में समाप्त हुआ था, मेरी पोस्ट के नीचे मैंने अपना AJAX कोड चिपकाया था। इसलिए यदि आप यह स्पष्ट कर सकते हैं कि ये डेटा-एजेक्स हेल्पर्स मेरे लिए क्या बना रहा है, तो यह अच्छा होगा। मैं जानना चाहता हूं कि मुझे दोनों की जरूरत है या नहीं।यह बहुत अच्छा है, तो मैं अभी भी AJAX के साथ निर्मित विनीत मान्यता का उपयोग कर सकते हो जाएगा। –
आप जावास्क्रिप्ट कोड के उस टुकड़े निकाल सकते हैं। बस सुनिश्चित करें कि आप दोनों JQuery और JQuery विनीत अजाक्स को संदर्भित करती है। डेटा-ajax सहायकों लकड़ी के तहत आपके लिए क्या कर सकते हैं। –