Tooltip information is an important user interactive component. In web development customization, highly interactive tooltips are used that contain links or images along with textual information. A very powerful yet simple jQuery plugin, Qtip, is available for displaying customize tooltips.
Today, I shall be demonstrating the process of integration of jQuery Qtip plugin with ASP.NET MVC5 platform.
ASP.NET MVC - jQuery Tooltip Plugin
Prerequisites
The following are some prerequisites before you proceed any further in this tutorial.
  1. Knowledge of ASP.NET MVC5.
  2. Knowledge of HTML.
  3. Knowledge of JavaScript.
  4. Knowledge of Bootstrap.
  5. Knowledge of Jquery.
  6. Knowledge of C# Programming.
The example code is being developed in Microsoft Visual Studio 2017 Professional. I am using 2017 public holidays for Pakistan in a ".txt" file as announced by the Pakistan Government.
Let's begin now.
Step 1
Create a new MVC web project and name it "MvcQtip".
Step 2
Now, create a controller file and name it "Controllers\HomeController.cs" and write a simple GetCalendarData(...) method which will first load the holiday data from the text file and then, will convert the loaded data into JSON format and finally, return the target JSON data.
  1. #region Getpublic holiday data method.
  2. /// <summary>
  3. /// GET: /Home/GetPublicHolidayData
  4. /// </summary>
  5. /// <returns>Return data</returns>
  6. public ActionResult GetCalendarData()
  7. {
  8. ...
  9. try
  10. {
  11. // Loading.
  12. List<PublicHolidayObj> data = this.LoadData();
  13. // Processing.
  14. result = this.Json(data, JsonRequestBehavior.AllowGet);
  15. ...
  16. }
  17. catch (Exception ex)
  18. {
  19. // Info
  20. Console.Write(ex);
  21. }
  22. // Return info.
  23. return result;
  24. }
  25. #endregion
Step 3
Now, create a view and name it "Views\Home\Index.cshtml". The view will contain a simple table.
  1. ...
  2. <table id="HolidayLstTable" class="table table-bordered table-striped">
  3. <thead>
  4. <tr>
  5. <th style="text-align: center;">Sr.</th>
  6. <th style="text-align: center;">Holiday</th>
  7. <th style="text-align: center;">Date</th>
  8. </tr>
  9. </thead>
  10. <tbody>
  11. </tbody>
  12. </table>
  13. ...
In the above code, I have simply created a table that will integrate the jQuery qTip plugin with the User Interface (UI).
Step 4
Finally, create the JavaScript file "Scripts\script-custom-qtip.js" which will apply the tooltip description using qTip jquery plugin.
  1. $(document).ready(function ()
  2. {
  3. $.ajax(
  4. {
  5. url: '/Home/GetCalendarData',
  6. type: "GET",
  7. dataType: "JSON",
  8. success: function (result)
  9. {
  10. ...
  11. "<td style='text-align: center;'>" + "<div title='" + data.Desc + "'>" + data.Title + "</div></td>" +
  12. ...
  13. $('#HolidayLstTable tbody tr td').on('mouseenter', 'div[title]', function (event)
  14. {
  15. $(this).qtip(
  16. {
  17. overwrite: false, // Don't overwrite tooltips already bound
  18. show:
  19. {
  20. event: event.type, // Use the same event type as above
  21. ready: true // Show immediately - important!
  22. }
  23. });
  24. });
  25. }
  26. });
  27. });
In the above code, I have made the AJAX call to load the data first into my table and then apply the qTip jQuery plugin.
Step 5
Now, execute the project and you will be able to see the following in action.
ASP.NET MVC - jQuery Tooltip Plugin
ASP.NET MVC - jQuery Tooltip Plugin

Conclusion

In this article, we learned how to integrate the jQery Qtip plugin with the ASP.NET MVC web platform. Also, we saw how to use AJAX call to load the tooltip data.