मैं Ajax.BeginForm का उपयोग कर रहा हूं, एक फार्म बनाने के लिए एक निश्चित नियंत्रक कार्रवाई के लिए एक अजाक्स पोस्टबैक करेगा और फिर यदि कार्रवाई सफल होती है, तो उपयोगकर्ता को दूसरे पृष्ठ पर पुनर्निर्देशित किया जाना चाहिए (यदि कार्रवाई विफल हो जाती है तो एक स्थिति का उपयोग करके प्रदर्शित होता है) AjaxOptions UpdateTargetId)।
using (Ajax.BeginForm("Delete", null,
new { userId = Model.UserId },
new AjaxOptions { UpdateTargetId = "UserForm", LoadingElementId = "DeletingDiv" },
new { name = "DeleteForm", id = "DeleteForm" }))
{
[HTML DELETE BUTTON]
}
यदि डिलीट सफल रहा तो मैं एक रिडायरेक्ट रिजल्ट लौटा रहा हूं:
[Authorize]
public ActionResult Delete(Int32 UserId)
{
UserRepository.DeleteUser(UserId);
return Redirect(Url.Action("Index", "Home"));
}
लेकिन होम कंट्रोलर इंडेक्स व्यू अपडेटटार्गेटआईड में लोड हो रहा है और इसलिए मैं एक पेज के भीतर पेज के साथ समाप्त होता हूं। दो बातें जो मैं सोच रहा हूँ:
- या तो मैं इस गलत तरीके से काम कर रहा हूं और इस प्रकार की कार्रवाई को अलग तरह से संभालना चाहिए (अजाक्स का उपयोग नहीं करना चाहिए)।
- रिडायरेक्ट रिजल्ट को वापस करने के बजाय, एक ऐसा दृश्य लौटाएं जिसमें जावास्क्रिप्ट है जो क्लाइंट की तरफ रीडायरेक्ट करता है।
क्या किसी ने # 1 पर टिप्पणी की है? या अगर # 2 एक अच्छा समाधान है, तो "रीडायरेक्ट जावास्क्रिप्ट दृश्य" कैसा दिखेगा?