Related resources for SP.Net
  • Webgrid and Gridview in ASP.NET Core and .NET Core Explained11/21/2024 11:10:24 AM. Learn dynamic paging and sorting in .NET Core using JavaScript and jQuery. Modify URLs with query strings for seamless server interaction, leveraging Bootstrap for responsive design and intuitive user
  • What's New in ASP.NET Core 9?11/19/2024 10:07:33 AM. C# 13 enhances developer productivity with features like flexible params collections, scoped locks, and partial properties, allowing for streamlined coding, improved performance, and robust thread saf
  • .NET 9 is Out Now11/15/2024 8:47:33 AM. This article explains in detail the latest release of .NET. The latest .NET ecosystem updates improve performance, security, and productivity across C# 13, ASP.NET Core, EF Core, .NET Runtime, Librari
  • Deploying ASP.NET Core 9 Application on IIS11/14/2024 8:33:56 AM. Learn how to publish ASP.NET Core 9 applications on IIS. This guide covers key steps such as setting the correct target framework, configuring IIS settings, handling common errors like 503, and using
  • Loading Nested JSON File Data in Dropdown ASP.NET11/14/2024 6:58:43 AM. Learn how to load and bind nested JSON data to a dropdown in ASP.NET, covering both client-side and server-side techniques for dynamic data binding and efficient JSON parsing in web applications.
  • Fededim.Extensions: ASP.NET Data Protection Integration11/5/2024 9:59:16 AM. Fededim.Extensions.Configuration.Protected.DataProtectionAPI enables seamless integration between ASP.NET Configuration and the Data Protection API, providing enhanced security for sensitive data in a
  • Explaning IExceptionFilter in .NET Core11/4/2024 4:16:41 AM. This article explores ASP.NET Core's `IExceptionFilter`, which enables centralized exception handling. It highlights its advantages, such as separation of concerns, consistent error responses, and
  • JWT Token Based Implementation using ASP.NET Core Web API10/29/2024 6:30:51 AM. JWT (JSON Web Token) is a way to share information securely between two or more systems and JWT structure allows for secure information exchange and user authentication.
  • Explaining IAuthorizationFilter in .NET Core10/27/2024 12:10:00 PM. In this article, we delve into the IAuthorizationFilter interface in .NET Core, exploring its role in implementing authorization logic for web applications. We cover how to create custom filters, mana
  • Mastering API Testing with Api.http Files in .NET Projects10/23/2024 6:06:57 AM. The Api.http file in a .NET project is a text file containing one or more HTTP requests that can be executed directly from the development environment, such as Visual Studio or Visual Studio Code. Thi
  • ASP.NET Core Middleware10/22/2024 11:57:39 AM. ASP.NET Core Middleware plays a crucial role in the request processing pipeline of web applications. It allows developers to add custom functionalities, such as authentication, logging, and error hand
  • Enable Specific Dates By Using Bootstrap Date Picker In ASP.NET MVC10/21/2024 10:04:08 AM. This article explains how to enable specific dates using the Bootstrap Date Picker plugin with an array object. It demonstrates how to set a date range, format dates, and customize date selection usin
  • Why In ASP.NET Core logging is often implemented as a singleton10/20/2024 9:31:50 AM. In ASP.NET Core, logging is often implemented as a singleton to ensure efficient resource usage, centralized management, and thread-safe logging across the application.
  • Training on using WebForms Core Technology to Upload Images10/19/2024 2:52:21 PM. In this article, using WebForms Core technology, we will teach you how to send images to the server and display the images sent in the client.
  • Validation of Complex Objects in Multi-Lingual Environment Using DynamicVNET With ASP.NET Core10/14/2024 9:58:53 AM. DynamicVNET is a lightweight, rule-based validation library for .NET applications, designed to validate POCOs while adhering to the Single Responsibility Principle (SRP). It integrates seamlessly with
  • Calling Web API to Web API without User Interaction by using Azure Managed Identity10/14/2024 5:59:13 AM. This article will walk you through connecting two web APIs without any login or user interaction. It is referred to as "Server-to-Server" or "Service-to-Service" communication. You
  • Minimal APIs or Controllers in ASP.NET Core10/14/2024 5:56:00 AM. In ASP.NET Core, developers can choose between Minimal APIs and Controllers for building web APIs. Minimal APIs offer a lightweight, streamlined approach with simpler routing, while Controllers follow
  • ASP.NET Web Configuration File10/11/2024 12:30:22 PM. Configuration file is an important file in ASP.NET. Learn, what is a Web.Config file? What is in Web.config files? What are the different types of Configuration files in ASP.NET? Machine.config File v
  • ASP.NET Core - CRUD With React.js And Entity Framework Core10/11/2024 12:27:56 PM. Discover how to implement CRUD (Create, Read, Update, Delete) operations, set up a RESTful API, and manage data effectively. Enhance your web development skills with practical examples and best practi
  • Filters in ASP.NET MVC10/11/2024 12:26:53 PM. In this article you will learn about Filters in ASP.NET MVC 5.0. ASP.NET MVC Filters are used to inject extra logic at the different levels of MVC Framework request processing. Filters provide a way f
  • Multiple File Upload in ASP.NET With Example10/11/2024 12:25:08 PM. The FileUpload control in ASP.NET enables users to upload files to the server easily. It features a text box and a browse button for file selection. The control supports multiple file uploads when set
  • Building a Blazor Server App to Fetch RSS Feeds Using .NET Core10/11/2024 8:54:06 AM. In this article, we will explore how to build a Blazor Server app using .NET Core 6.0 to fetch and display RSS feeds. You’ll learn about setting up the Blazor environment, using HTTP clients for data
  • Scaffolding ASP.NET Core MVC10/11/2024 6:03:08 AM. In this article, you will learn about scaffolding ASP.NET Core MVC.
  • Descending DropDown List In ASP.NET10/8/2024 9:27:53 AM. Learn how to sort a DropDown List in ASP.NET in descending order using C#. This tutorial covers data binding, sorting logic with LINQ, and implementing dropdown controls in ASP.NET Web Forms or MVC ap
  • Angular, Bootstrap and ASP.NET MVC - Bootstrap Form Controls - Part Eight10/8/2024 9:02:05 AM. In this article, we explore integrating Bootstrap form controls within an AngularJS and ASP.NET MVC application. We cover essential features like date and time pickers, typeahead suggestions, and inte
  • Session In ASP.NET10/8/2024 8:56:35 AM. Learn how to implement session state, manage session variables, and enhance security while optimizing performance. Understand the differences between ASP.NET Web Forms and ASP.NET Core sessions, ensur
  • Displaying Partial View On Condition in Web API10/8/2024 8:53:24 AM. This article explains how to create and display partial views conditionally in an ASP.NET MVC Web API application. By selecting a value from a drop-down list and submitting it, the corresponding parti
  • Difference Between MVC and Web API10/8/2024 8:51:17 AM. This article explores the differences between ASP.NET MVC and Web API, focusing on their roles, use cases, and key features. MVC is used for creating web applications with data and views, while Web AP
  • Create Web API in MVC 610/8/2024 8:48:58 AM. Learn how to create a Web API using ASP.NET MVC 6 in this comprehensive guide. We’ll cover essential topics like setting up the MVC framework, building API controllers, implementing RESTful services,
  • Logging Errors With Error Logging Modules And Handlers (ELMAH) in ASP.NET MVC 410/8/2024 8:33:16 AM. Error Logging Modules and Handlers (ELMAH) is an alternative to Health Monitoring System (HMS) for logging errors and is free and available under an open-source license created and managed by Atif Azi
  • Understanding ASP.NET Session State10/8/2024 4:03:08 AM. ASP.NET Session State is a method for managing user data during a web session. It enables storing and retrieving session-specific information like user preferences, shopping carts, and login status.
  • Using Log4net to Log Exceptions in ASP.NET10/6/2024 2:59:46 PM. In this guide, we explore how to effectively use Log4net for logging exceptions in ASP.NET applications. You'll learn how to configure Log4net, implement logging best practices, and capture detail
  • How To Create ASP.NET Core MVC Application10/3/2024 11:48:21 AM. This tutorial covers setting up your development environment, creating controllers, models, and views, and building a fully functional web application using the ASP.NET Core MVC framework.
  • Uploading Multiple Files With ListBox in ASP.NET10/3/2024 11:40:19 AM. This article explains how to upload multiple files using a ListBox control in ASP.NET. Unlike the standard FileUpload control, which supports single file uploads, this method combines FileUpload with
  • Search Records Between Two Dates Using Stored Procedure And Entity Framework In ASP.NET MVC10/3/2024 11:32:18 AM. In this article, we will learn to write and execute a SQL stored procedure, pass parameters for date filtering, and retrieve results in an efficient and structured manner.
  • How To Use Bootstrap DateTime Picker In ASP.NET MVC With Angular As Directive10/1/2024 9:07:42 AM. This tutorial covers the step-by-step process of setting up the DateTime Picker, configuring it for optimal user experience, and utilizing Angular directives for seamless interaction. Enhance your web
  • Uploading Multiple Files in ASP.NET 2.010/1/2024 9:05:24 AM. The FileUpload control in ASP.NET 2.0 allows users to upload files from a web page. By using multiple FileUpload controls and a button, users can select and upload several files at once. The files are
  • Send Email to Gmail in ASP.Net Using C#10/1/2024 8:35:17 AM. Create a simple email system in ASP.NET C# using Visual Studio 2010. The system allows users to input an email address and a message in two TextBoxes. It sends the email via Gmail's SMTP server us
  • Overview of Minimal API10/1/2024 8:20:11 AM. Minimal API in ASP.NET Core provides a streamlined approach to building HTTP APIs with minimal configuration. Introduced in .NET 6, it allows for lightweight API development without controllers, makin
  • Bind Data to Multiple Models From View in MVC9/27/2024 10:22:10 AM. We'll cover techniques for utilizing ViewModels to facilitate seamless data transfer between the user interface and server-side logic, ensuring smooth form submissions, data validation, and improv
  • How to Track Browsing Device and Orientation in ASP.Net9/27/2024 10:21:36 AM. Discover how to effectively track browsing devices and their orientation in ASP.Net. This guide covers essential techniques for detecting user agents, utilizing JavaScript for real-time orientation da
  • ASP.Net SignalR: Building a Simple Real-Time Chat Application9/27/2024 10:21:27 AM. In this tutorial, we build a simple real-time chat application using ASP.NET MVC and SignalR. SignalR enables live data updates by pushing content from the server to clients, perfect for chat, notific
  • Inserting Form Data Into DataBase Using Stored Procedure In ASP.NET C#9/27/2024 10:10:24 AM. Learn how to insert form data into a database using stored procedures in ASP.NET with C#. This guide covers setting up a form, handling user input, creating a stored procedure, and securely inserting
  • QUIZ Application With ASP.NET MVC 59/26/2024 8:45:26 AM. Create a dynamic Quiz Application using ASP.NET MVC 5, showcasing the power of the Model-View-Controller architecture. This project involves user authentication, database integration for question mana
  • ASP.NET MVC Chat Application Using SignalR9/26/2024 7:11:47 AM. This tutorial guides you through creating a real-time chat application using ASP.NET MVC and SignalR. You'll learn how to set up a SignalR hub for managing communication, implement user authentica
  • JWT Token Authentication And Role Authorization Using .Net Core 6.0 Web APIs9/26/2024 6:13:29 AM. This post covers implementing JSON Web Tokens (JWT) for authentication in an ASP.NET Core Web API. It details creating a new project, using JWT for secure token generation, and implementing role-based
  • Sitecore Experience Editor Tips for Content Author Instructions9/26/2024 3:38:16 AM. This article demonstrates how to use a helper method in Sitecore to display informative or warning messages within the Experience Editor, aiding Content Authors in managing components effectively.
  • Sending Emails in ASP.NET Core MVC Using SMTP9/25/2024 7:46:51 AM. In this guide, we'll explore how to send emails in ASP.NET Core MVC using SMTP. We'll cover the essential setup, including configuring SMTP settings, creating an email service, and sending mes
  • Implement Google reCAPTCHA In ASP.NET MVC9/24/2024 12:00:17 PM. ReCAPTCHA is a Google service designed to verify that users are human, protecting websites from bots and spam. This article demonstrates how to integrate reCAPTCHA version 2.0 into an ASP.NET MVC appl
  • ASP.NET 3.5 Tabbed Pages9/24/2024 11:55:31 AM. Tabbed pages are an effective way to organize content on web applications, improving user experience. By using a combination of MultiView and View controls in ASP.NET, developers can create intuitive
  • Implement Insert, Update and Delete Functionality in the WebGrid: Part 19/24/2024 11:54:26 AM. In this tutorial, we introduce how to implement essential CRUD (Create, Read, Update, Delete) functionality in a WebGrid. This is Part 1 of a series, focusing on adding new records, updating existing
  • Schedule Background Jobs Using Hangfire In ASP.NET Core9/24/2024 9:04:17 AM. Hangfire is an open-source library for ASP.NET Core that simplifies scheduling and monitoring background tasks like data processing and email reminders. By using Hangfire, you can create fire-and-forg
  • Understanding AddTransient Vs AddScoped Vs AddSingleton In ASP.NET Core9/24/2024 7:13:08 AM. In this article, you will learn about AddTransient Vs AddScoped Vs AddSingleton In ASP.NET Core. Dependency Injection (DI) in ASP.NET Core, focusing on service lifetimes: Transient, Scoped, and Single
  • Claim Based And Policy-Based Authorization With ASP.NET Core 2.19/23/2024 9:48:11 AM. Authorization is the process of determining if a user can access system resources. Claim-based authorization checks specific user claims (e.g., "DateOfJoining" or "IsAdmin") for ac
  • Role Base Authorization In ASP.NET Core 2.19/23/2024 9:34:36 AM. In this article, we explore Role-Based Authorization in ASP.NET Core 2.1, explaining how to secure applications by assigning user roles and managing access control.
  • Geographical Information by IP Address in ASP.NET and C#9/23/2024 9:27:00 AM. This article explains how to obtain geographical information about website visitors using their IP addresses. It showcases a free service from iplocationtools.com that provides data in XML, JSON, and
  • How to Manage ViewState in ASP.NET?9/23/2024 9:16:18 AM. This article explains various methods of managing state in ASP.NET, including ViewState, Session, Application, and Cookies. It focuses on ViewState, its lifecycle, enabling/disabling at the page or co
  • Response Caching with Cache Profiles in .NET Core 89/22/2024 12:21:38 PM. The process by which a browser or other client caches a server's response is known as response caching. This will facilitate the prompt processing of subsequent requests for the same resources. Fu
  • With code examples, learn how to develop ASP.NET Core C# 12 using domain-driven design9/21/2024 4:15:04 AM. In this guide, you will learn how to develop applications using ASP.NET Core with C# 12, applying domain-driven design principles. Through clear code examples, we’ll explore how to create effective do
  • Looking deep inside PostBack and ViewState in ASP.NET 3.59/20/2024 9:28:54 AM. In ASP.NET 3.5, PostBack and ViewState play crucial roles in managing web form data between client and server during the page lifecycle. PostBack handles user-triggered events by sending requests to t
  • Session State In ASP.NET Core And MVC Core9/20/2024 8:04:17 AM. Explore session state management in ASP.NET Core and MVC Core, covering how to store and retrieve session data, manage state across user requests, and utilize features like middleware, in-memory cache
  • Download Multiple Excel Files via Web API .NET and Angular9/20/2024 6:02:37 AM. To export multiple Excel files, various approaches can be used, including downloading a zip file, creating multiple worksheets in a single Excel file, or calling APIs multiple times to retrieve files.
  • Introduction To ASP.NET Core Razor Pages9/19/2024 10:07:58 AM. This article introduces Razor Pages in ASP.NET Core using .NET 5, guiding beginners and experienced developers through creating a "Hello World" project. It covers prerequisites, installation
  • Block IP Address In ASP.NET Core Web API9/19/2024 10:04:00 AM. This article will explain that how to block IP address for particular time frame with multiple request. It will restrict user to enter into controller if user hit system multiple times during fixed ti
  • Resolve "Member Name Cannot Be the Same as Enclosing Type" Error9/18/2024 12:23:37 PM. A colleague faced a build error in Visual Studio when naming a file Profile.aspx, which conflicted with the System.Web.Profile type. The error "member name cannot be the same as enclosing type&qu
  • Single Page Application Using ASP.NET MVC And jQuery With CRUD methods9/18/2024 12:19:17 PM. In this guide, learn how to create a Single Page Application (SPA) using ASP.NET MVC and jQuery without relying on frameworks like Angular or React. We'll focus on routing and UI-level interaction
  • Getting Started With ASP.NET Core MVC Apps Using VS Code9/18/2024 12:14:39 PM. Learn to create a HelloWorld app using ASP.NET Core 2.0 and Visual Studio Code. This guide covers setting up a new ASP.NET Core MVC project, adding controllers and views, and running the application.
  • Using the Bing API to Translate Text in ASP.NET9/17/2024 10:41:08 AM. Learn to use the Bing Translation API in an ASP.NET application. Create a web page where users input text and select languages for translation. Implement the TranslateText method to send a web request
  • How to Create a Simple Web Service and Use it in ASP.NET9/17/2024 10:29:10 AM. Learn to create and use a web service in ASP.NET with this guide. Start by setting up a new ASP.NET project in Visual Studio, adding a web service file, and defining methods for basic arithmetic opera
  • Read Data From Excel File (xls, xlsx, csv) In ASP.NET MVC9/17/2024 10:24:31 AM. This guide covers methods for importing and processing data, including handling file uploads, parsing content, and integrating the data into your ASP.NET MVC application. Perfect for developers lookin
  • Export Data In Excel File With ASP.NET MVC9/17/2024 10:23:49 AM. In this tutorial, learn how to export data from an ASP.NET MVC application to an Excel file using the ClosedXml library. We'll guide you through creating a project, setting up entity classes, and
  • Explaning SignalR in ASP.NET Core 89/17/2024 5:13:33 AM. Learn about setting up SignalR hubs, managing connections, and utilizing WebSocket and Server-Sent Events for efficient, scalable messaging in .NET 8 environments.
  • Bind Textbox Using Knockout In MVC9/13/2024 10:50:22 AM. Learn how to bind a textbox in an MVC application using Knockout.js, a popular JavaScript MVVM library. This tutorial covers the basics of two-way data binding with Knockout observables, enabling dyna
  • Cross-Site Request Forgery (CSRF) in ASP.NET Core9/13/2024 9:00:31 AM. CSRF is a security vulnerability where attackers trick authenticated users into making unintended requests. This ASP.NET Core example demonstrates using anti-forgery tokens to prevent CSRF attacks. It
  • Explaining WebForms in ASP.NET Core9/13/2024 1:53:06 AM. Learn about alternatives like Blazor and Razor Pages, leveraging component-based architecture, state management, server-side rendering, and enhancing web app performance and scalability.
  • File Upload And Download Using ASP.NET MVC 5 For Beginners9/12/2024 12:17:18 PM. In this article, we will learn how to handle file input, validate files, and manage file storage on the server. With step-by-step guidance, this guide is perfect for those looking to implement file ha
  • Create A Simple Web Service In ASP.NET Using C#9/12/2024 6:14:14 AM. This guide covers building a REST API, handling HTTP requests, and integrating with JSON/XML data formats. Ideal for beginners, it provides step-by-step instructions using Visual Studio, focusing on p
  • Configure SQL Server Session State In ASP.NET Core9/12/2024 5:49:48 AM. This guide covers setting up SQL Server as a session storage provider, configuring the connection string, enabling session middleware, and ensuring session persistence for scalable web applications.
  • Introduction To ASP.NET Core9/10/2024 11:54:05 AM. Discover the essentials of ASP.NET Core, a powerful framework for building modern, cross-platform web applications. Learn about its key features, including MVC architecture, dependency injection, and
  • Create and Implement 3-Tier Architecture in ASP.Net9/9/2024 11:30:18 AM. This article explains how to create and implement a 3-tier architecture for our project in ASP.NET, covering the Data Layer (DAL), Business Layer (BAL), and Presentation Layer. It highlights advantage
  • Entity Framework Core Code-First Approach with Seed Data9/9/2024 7:11:51 AM. It will be beneficial to beginners who are struggling with Entity Framework Core and Creating Code-First Approach. The EF-Core Code-First approach involves creating domain classes first and then gener
  • Preventing DoS Attacks in ASP.NET Core MVC Applications9/8/2024 8:04:21 AM. This ASP.NET Core MVC project demonstrates essential techniques to prevent DoS attacks, including rate limiting, request size limiting, and Google reCAPTCHA integration. The solution ensures security
  • Export Data From Database Table to Excel File in ASP.Net MVC9/5/2024 10:55:56 AM. Exporting data from a database to Excel in ASP.NET MVC involves creating a database, setting up a model, and designing a view. Use SqlConnection and SqlDataAdapter to fetch data and Microsoft.Office.I
  • How To Implement CKEditor In ASP.NET MVC9/5/2024 10:45:12 AM. CKEditor is a powerful, browser-based WYSIWYG editor that simplifies HTML content creation. It integrates seamlessly with ASP.NET MVC, allowing users to easily create and manage rich text content.
  • Using JQuery GridView For an ASP.NET MVC Application9/5/2024 9:28:18 AM. Learn how to create a GridView in ASP.NET MVC using jQuery plugins. This guide covers creating static and dynamic GridViews, populating data from a database, and implementing features like paging and
  • Explaning .NET Razor ≠ .NET Blazor9/5/2024 5:14:36 AM. Razor and Blazor are distinct web technologies. Razor is a server-side templating engine in ASP.NET Core MVC, combining HTML with C# for dynamic server-side content. Blazor, in contrast, enables inter
  • How To Read SharePoint TermStore Managed Metadata In SharePoint Framework (SPFx) With Angular9/4/2024 9:13:26 AM. This guide demonstrates how to access SharePoint TermStore data in SPFx applications using the JSOM method. It covers configuring TypeScript, installing dependencies, and using SPComponentLoader to lo
  • Braintree Payment Gateway Integration With ASP.NET Core 2.19/4/2024 9:06:35 AM. Integrate Braintree payment gateway with ASP.NET Core 2.1 by adding the Braintree .NET Client Library via NuGet. Configure the gateway using environment variables or default credentials. Implement end
  • Overview Of ASP.NET Core9/4/2024 9:00:26 AM. Explore ASP.NET Core, a cross-platform, high-performance framework for building modern web applications and APIs. Learn about its key features including MVC architecture, Razor Pages, dependency injec
  • Understanding GridView Formatting9/4/2024 8:34:02 AM. Learn how to format an ASP.NET GridView with various styles and data formatting options. This guide covers using the DataFormatString property for numeric and date formats, and customizing GridView st
  • GridView Paging Sample in ASP.NET9/4/2024 8:21:34 AM. Learn how to implement various paging styles in ASP.NET GridView using C#. This guide covers binding SQL Server data to a GridView, enabling paging, and customizing pager settings like Numeric, NextPr
  • Advanced Logging Techniques in ASP.NET Core 8 with Serilog9/3/2024 4:00:53 AM. Serilog is a diagnostic logging library for .NET applications. It provides a simple, flexible and powerful way to log application events, errors and other information. This article describes how we ca
  • Creating Excel Reports with EPPlus in ASP.NET Core 8.09/2/2024 5:46:11 AM. Learn how to generate and manage Excel reports in ASP.NET Core 8.0 using the EPPlus library. This guide covers the essentials of integrating EPPlus for creating and manipulating Excel workbooks, inclu
  • Complete File Upload and Download in ASP.NET Core MVC8/30/2024 5:08:01 AM. Implement file upload and download functionality in an ASP.NET Core MVC application. This guide covers project setup, model creation, controller logic, view implementation, and security best practices
  • OutputCache (1), In ASP.NET MVC8/29/2024 3:24:17 PM. This article is to explain how you can improve the performance of an ASP.NET MVC application by taking advantage of the output cache.
  • CRUD Operations In ASP.NET Core Using Entity Framework Core Code First8/29/2024 7:28:45 AM. In this article, you will learn about CRUD operations in ASP.NET Core, using Entity Framework Core Code First.
  • Performing CRUD Operations With ASP.NET MVC Core And Entity Framework Core8/29/2024 7:18:32 AM. In this article, you will learn how to perform CRUD operations with ASP.NET MVC Core and Entity Framework Core.
  • Repository Pattern In ASP.NET Core8/29/2024 7:16:41 AM. In this article, you will learn about repository pattern in ASP.NET Core.
  • Pass Dynamically Added HTML Table Records List To Controller In ASP.NET MVC8/29/2024 7:13:51 AM. In this article we will learn how to pass dynamically added HTML Table records list to Controller in ASP.NET MVC.
  • Creating Dynamic Toast Notifications in Blazor8/27/2024 12:20:09 PM. Blazor is a modern framework by Microsoft for building interactive web applications using C# and .NET. It features a component-based architecture, ideal for creating reusable and modular UI elements.