मेरे पास डेटा युक्त तालिका है। शीर्ष पंक्ति में सभी चेकबॉक्स का चयन करने के लिए प्रत्येक पंक्ति में एक चेकबॉक्स प्लस एक चेकबॉक्स होता है। इस चेकबॉक्स को चेक करने पर, डेटाबेस तालिका से corresponoding पंक्तियों को हटाया जाना चाहिए। इसके अलावा, शीर्षलेख पर चेकबॉक्स को चिपकाने पर, सभी पंक्तियां डेटाबेस तालिका से हटा दी जाएंगी। मैं यह एएसपीनेट एमवीसी कैसे प्राप्त कर सकता हूं।चेकबॉक्स की जांच पर तालिका की पंक्तियों को हटाएं
उत्तर
हमेशा की तरह एक मॉडल के साथ शुरू:
public class ProductViewModel
{
public int Id { get; set; }
public string Name { get; set; }
}
फिर एक नियंत्रक:
public class HomeController : Controller
{
// TODO: Fetch this from a repository
private static List<ProductViewModel> _products = new List<ProductViewModel>
{
new ProductViewModel { Id = 1, Name = "Product 1" },
new ProductViewModel { Id = 2, Name = "Product 2" },
new ProductViewModel { Id = 3, Name = "Product 3" },
new ProductViewModel { Id = 4, Name = "Product 4" },
new ProductViewModel { Id = 5, Name = "Product 5" },
};
public ActionResult Index()
{
return View(_products);
}
[HttpPost]
public ActionResult Delete(IEnumerable<int> productIdsToDelete)
{
// TODO: Perform the delete from a repository
_products.RemoveAll(p => productIdsToDelete.Contains(p.Id));
return RedirectToAction("index");
}
}
और अंत में Index.aspx
दृश्य:
<% using (Html.BeginForm("delete", "home", FormMethod.Post)) { %>
<table>
<thead>
<tr>
<th>Name</th>
<th>Select</th>
</tr>
</thead>
<tbody>
<%= Html.EditorForModel()%>
</tbody>
</table>
<input type="submit" value="Delete selected products" />
<% } %>
और उत्पाद संपादक टेम्पलेट (~/Views/Home/EditorTemplates/ProductViewModel.ascx
) :
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ToDD.Controllers.ProductViewModel>" %>
<tr>
<td>
<%: Model.Name %>
</td>
<td>
<input type="checkbox" name="productIdsToDelete" value="<%: Model.Id %>" />
</td>
</tr>
मैं AJAX का उपयोग करूंगा। चेक किए गए राज्य को बदलने पर, मैं सभी चयनित आईडी को हटाने और तालिका डेटा रीफ्रेश करने का अनुरोध सबमिट करूंगा।
का मतलब है कि चेकबॉक्स पर जांच करने पर, AJAX कॉल किया जाएगा और तालिका को फिर से भर दिया जाएगा फिर फिर से अन्य चेकबॉक्स को फिर से जांचना होगा। –
@andrew सुलिवान हाँ – thelost
jQuery
, कुछ अन्य जावास्क्रिप्ट लाइब्रेरी का उपयोग करें, या चेकबॉक्स की जांच पर केवल एक कोड को AJAX अनुरोध करें। फिर सफलता पर DOM
बदलें।
jQuery का उपयोग करके आप की तरह कुछ कर सकता है:
<table>
<tr>
<td><input type="checkbox" class="check" id="1" /></td>
</tr>
<tr>
<td><input type="checkbox" class="check" id="2" /></td>
</tr>
<tr>
<td><input type="checkbox" class="check" id="3" /></td>
</tr>
</table>
$('.check').click(function() {
var tableRow = $(this).parent().parent();
var id = $(this).attr('id');
$.ajax({
url: 'http://www.YOURDOMAIN.com/Controller/Action/' + id,
success: function(data) {
$(tableRow).remove();
}
});
)};
यह बहुत ही बुनियादी कार्यान्वयन, आप इसे पंक्ति को हटाने में कुछ एनीमेशन के साथ तैयार कर सकता है। आपको कुछ त्रुटि प्रबंधन के साथ डेटा पास करने और डेटा वापस करने की भी आवश्यकता है। jQuery AJAX tutorial के लिए यहां देखें।
यह asp.net mvc है। मुझे नियंत्रक को जानकारी कैसे पास करनी चाहिए, जो चेकबॉक्स चयनित हैं। –
शायद आईडी के साथ, मैं विकल्प के साथ एक संपादन पोस्ट करूंगा। चेकबॉक्स पर नया यूआरएल और आईडी देखें। हालांकि मैं एक JSON वेब सेवा, बहुत हल्का और आसान करना चाहता हूं। इसके अलावा यह एमवीसी के साथ ग्रेट काम करता है क्योंकि 'JSONRESULT' एक्शन प्रकार है। –
- 1. तालिका की सभी पंक्तियों को कैसे हटाएं लेकिन शीर्षलेख
- 2. तालिका में सभी पंक्तियों को हटाएं
- 3. डुप्लीकेट पंक्तियों को कैसे हटाएं और तालिका
- 4. jQuery सभी तालिका पंक्तियों को हटाएं पहले
- 5. एएसपी की जांच की गई चेंज इवेंट हैंडलर: चेकबॉक्स अनचेक होने पर चेकबॉक्स नहीं होता है
- 6. SQL अन्य पंक्तियों के आधार पर पंक्तियों को हटाएं
- 7. Google BigQuery पंक्तियों को हटाएं?
- 8. अतिरिक्त तालिका पंक्तियों की दृश्यता टॉगल करें
- 9. MYSQL - प्रत्येक तालिका में पंक्तियों की संख्या
- 10. एसएसआईएस - पंक्तियों को हटाएं
- 11. HTML तालिका की पंक्तियों कि MySQL
- 12. डेटाबेस कार्रवाई (सम्मिलित, अद्यतन, हटाएं) ओवरकिल के बाद पंक्तियों को प्रभावित करने वाली पंक्तियों की जांच कर रहा है?
- 13. पोस्टग्रेस्क्ल 8.1 तालिका से पंक्तियों को कुशलतापूर्वक कैसे हटाएं?
- 14. डेटाबेस की पहली एक्स लाइनों को हटाएं
- 15. किसी तालिका में पंक्तियों की संख्या की गिनती jQuery
- 16. किसी तालिका से सभी पंक्तियों को हटाएं, nullpointer
- 17. एक स्क्लाइट तालिका को अधिकतम पंक्तियों की संख्या
- 18. एकाधिक पंक्तियों को कैसे हटाएं?
- 19. पंक्तियों को हटाएं एफएफ पैकेज
- 20. MySQL: "SELECT MAX_JOIN_SIZE पंक्तियों से अधिक की जांच करेगा"
- 21. ग्रिड व्यू पंक्तियों और चेकिंग चेकबॉक्स नियंत्रण
- 22. knockout.js और चेकबॉक्स पर जांच ईवेंट सुनें
- 23. किसी तालिका पंक्ति पर कहीं भी क्लिक करें और यह चेकबॉक्स को इसकी जांच करेगा ...?
- 24. 500,000+ पंक्तियों तालिका में ट्रंकेट तालिका का उपयोग न करने के दौरान पंक्तियों को कुशलता से हटाएं
- 25. एक स्क्लाइट तालिका में पंक्तियों की अधिकतम संख्या
- 26. ado.net इकाई ढांचे पंक्तियों को हटाएं
- 27. Jquery तालिका पंक्तियों को छिपाएं
- 28. डेटा फ्रेम की पंक्तियों पर मानचित्रण
- 29. जावास्क्रिप्ट को HTML तालिका की पंक्तियों की संख्या प्राप्त करने के लिए
- 30. पोस्टग्रेस्क्ल तालिका में पंक्तियों की अधिकतम (उपयोग योग्य) संख्या
धन्यवाद डारिन, यह काम किया। –
मुझे समझ में नहीं आया कि चेकबॉक्स का मूल्य कैसा है, क्या आप कृपया समझा सकते हैं? मैं एमवीसी के लिए काफी नया हूं और इसे समझने की कोशिश कर रहा हूं। धन्यवाद। – Shimmy